object.toString()
返回值:返回一個表示該物件的字串。function F (x, y) { //建構函式 this.x = x; this.y = y; } var f = new F(1, 2); //範例化物件 console.log(F.toString()); //返回函數的原始碼 console.log(f.toString()); //返回字串"[object Object]"toString() 原型方法返回資訊簡單,為了能夠返回更多有用資訊,使用者可以重寫該方法。例如,針對範例物件返回的字串都是 "[object Object]",可以對其進行擴充套件,讓物件範例能夠返回建構函式的原始碼。
Object.prototype.toString = function () { return this.constructor.toString(); }呼叫 f.toString() ,則返回函數的原始碼,而不是字串 "[object Object]"。當然,重寫方法不會影響 JavaScript 內建物件的 toString() 返回值,因為它們都是唯讀的。
console.log(f.toString()); //返回函數的原始碼當把資料轉換為字串時,JavaScript 一般都會呼叫 toString() 原型方法來實現。由於不同型別的物件在呼叫該方法時,所轉換的字串都不同,而且都有規律,所以開發人員常用它來判斷物件的型別,彌補 typeof 運算子和 constructor 屬性在檢測物件型別的不足。
function Me() {} //自定義資料型別 Me.prototype.toString = function () { //自定義Me資料型別的toString()方法 return "[object Me]"; } var me = new Me(); console.log(me.toString()); //返回"[object Me]" console.log(Object.prototype.toString.apply(me)); //預設返回"[object Object]"