当我尝试将数字值分配给JavaScript关键字名称时,如下所示
var a="12345"; var b=a.substring(1,3) console.log(b); var name=12345; var y=name.substring(1,3) console.log(y);
我希望它抛出类型错误,但它为变量b和name生成相同的输出。
我知道关键字不应该用作变量,但我还是很想知道它是如何工作的。
name 指 window.name ,一个字符串(看起来是由浏览器强制执行的)。
name
window.name
var name = 12345; 你基本上覆盖了它(由于 var 工作,请参阅 differences betwen var and let ).
var name = 12345;
var
let
窗口.name 必须包含字符串,因此将其转换为 '12345'
窗口.name
'12345'