當您在終端中使用節點運行sample.js文件時var name = 12;console.log( typeof name )//number但在瀏覽器控制臺中卻有所不同var name = 12;console.log( typeof name )//string為什么有區別?!
1 回答

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