當(dāng)您在終端中使用節(jié)點(diǎn)運(yùn)行sample.js文件時(shí)var name = 12;console.log( typeof name )//number但在瀏覽器控制臺(tái)中卻有所不同var name = 12;console.log( typeof name )//string為什么有區(qū)別?!
1 回答

慕妹3146593
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
name
是window
和 的屬性。
name
當(dāng)您在控制臺(tái)中設(shè)置時(shí),它實(shí)際上是設(shè)置將其值window.name
轉(zhuǎn)換為字符串,如文檔中所述:
window.name 將使用 toString 方法將所有值轉(zhuǎn)換為其字符串表示形式。
這種情況尤其會(huì)發(fā)生,因?yàn)槟襁@樣設(shè)置名稱:
var?name?=?12;
在瀏覽器中使用var name =
, 而無(wú)需任何其他作用域,與編寫 , 相同window.name =
。
但是,如果您要使用const
或let
聲明name
,則name
不適用于全局范圍,即window
,并且它將是預(yù)期的類型:
const?name?=?4;? console.log(typeof?name)
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)
0/150
提交
取消