当我尝试为 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
,一个字符串(看起来是由浏览器强制执行的)。
当您编写 var name = 12345;
时,您基本上会覆盖它(由于 var
的工作原理,请参阅 differences betwen var
and let
)。
由于 window.name
必须包含一个字符串,因此它会在内部转换为 '12345'
。
关于javascript 子字符串方法支持整数 - chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51908532/