【发布时间】:2019-06-07 09:38:36
【问题描述】:
我不是 javascript 新手,但我完全不理解这种行为。
为什么一个名为“name”的变量只输入为字符串?它是一个新的 ES6 特性??
var name = 56;
console.log(name, typeof name);
name = function(){console.log("ok");}
console.log(name, typeof name);
【问题讨论】:
-
name是window对象上的一个属性,不要将其用作全局范围内的变量,使用任何其他名称,您不会看到此行为 -
因为 window.name 是一个全局变量。
-
我知道它是一个全局变量,我只是不明白为什么所有值都转换为字符串,根据 developer.mozilla 它不是一个错误而是一个特性。我根本不知道,是否可以像这样强制变量类型?或者这是在核心引擎中定义的?
-
@Daphoque 你会发现this one很有帮助
标签: javascript