当您在终端中使用节点运行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 关注
- 83 浏览
添加回答
举报
0/150
提交
取消