当我尝试将数字值赋给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和名称产生了相同的输出。
我知道关键字不应该用作变量,但我仍然很好奇它是如何工作的。
发布于 2018-08-18 20:30:14
name
指的是window.name
,一个字符串(看起来是由浏览器强制执行的)。
当您编写var name = 12345;
时,基本上就是覆盖它(由于var
的工作方式,请参阅differences betwen var
and let
)。
由于window.name
必须包含字符串,因此在内部将其转换为'12345'
。
https://stackoverflow.com/questions/51908532
复制相似问题