Object prototype toString 與toString 的區別?

時間 2021-06-01 04:44:29

1樓:

Object.prototype.toString() 與toString() 區別確實是this繫結。

而Object.prototype.toString.call()與toString.call()是真正意義上的等價。

大家都應該先引用ECMA-262看看(http://www.

ecma-international.org/

ecma-262/7.0/index.html#sec-object.prototype.tostring

)Object.prototype.toString()當呼叫 toString 方法,採用如下步驟:

1.如果 this 的值是 undefined, 返回 "[object Undefined]".

2.如果 this 的值是 null, 返回 "[object Null]".

3.令 O 為以 this 作為引數呼叫 ToObject 的結果 .

...toString()是Object原型鏈toString繼承而已,但是更深的區別:

toString()時,this是context object,不是全域性變數。toString()===window.toString() //false

過程是通過 GetThisEnvironment 先獲得執行上下文,然後在Environment Record,接著判斷this是否被繫結了,最後輸出環境變數。

或者本題的簡單解法就是

var other_toString = Object.prototype.toString;

然後本題可以換成 Object.prototype.toString() 與other_toString()的區別?

也許這樣很通俗易懂:

varo=}

varlog=o

.log

log();o.

log();

Byredo無人區玫瑰與le labo Rose31哪個更適合20 30歲的女生

七伢 正好剛剛聞了倆小樣,無人區玫瑰,特別純淨濃烈的玫瑰味,感覺置身玫瑰園,不輕浮,很特別很純淨,不甜 le labo rose31一開始噴有點刺激,脂粉木頭的味道,我感覺有點hold不住,但是很快到中後調,玫瑰味出來了,越來越濃,伴著木頭的醇厚香味,有點像在考曲奇的媽媽身上的暖洋洋的味道 不是說適...

油松與樟子松有何區例?

苗山 油松與樟子松同為松科松屬雙維管束松亞屬油松組的樹種,親緣關係特近,兩者區別甚小。且試從產地 性狀等角度予以區分 一 產地 油松 為中國特有樹種,產於吉林 遼寧 內蒙古 河北 山東 河南等地 樟子松 產於黑龍江西北部和內蒙古北部,此外,蒙古和俄羅斯也有分布。二 樹皮 油松 樹皮裂縫及上部樹皮為紅...

歐盟與歐元區的區別是什麼?

夏日風 歐盟 歐洲聯盟簡稱歐盟 EU 總部設在比利時首都布魯塞爾,是由歐洲共同體 又稱歐洲共同市場,簡稱歐共體 發展而來的,是乙個集政治實體和經濟實體於一身 在世界上具有重要影響的區域一體化組織。旨在 通過建立無內部邊界的空間,加強經濟 社會的協調發展和建立最終實行統一貨幣的經濟貨幣聯盟,促進成員國...