我今天就是随便练了下JS代码,就把这行代码放上去跑代码。
var name = 45;
console.log(typeof name);
它告诉我变量名的类型是字符串。这很奇怪但是当我输入这个时名称的类型是字符串:
var age = 45;
console.log(typeof age);
但是这里变量age的类型是Number。 为什么我会观察到这种不一致?是某种约定还是类似的东西?
最佳答案
如果您在浏览器中运行它,那么我认为这是因为默认执行上下文是窗口对象。基本上,您声明的每个全局值都会成为窗口对象的属性,反之亦然:窗口对象的每个属性都可以作为全局变量使用(例如 console
)。默认情况下,Window 对象具有 name
属性,将其重新声明为变量不会影响它。无论如何,这是我能得到的最接近的解释。
关于javascript - JavaScript 中数字变量的意外类型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49960866/