javascript - JavaScript 中数字变量的意外类型值

标签 javascript

我今天就是随便练了下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/

相关文章:

javascript - 获取嵌套 javascript 对象中具有最高属性值的键的名称,

javascript - 如何获取路径中的每个目录名称?

javascript - 在输入模糊上保存数组元素

javascript - 允许 Polymer paper-dialog 的模糊(专注于其他项目 - 输入字段在 paper-dialog 之外)

javascript - 更改 TogetherJS 中的默认名称

javascript - 无法使用 JQuery 删除搜索文本框的内容

javascript - 将数组项添加到数组 X 次

javascript - Node 和 DialogFlow 错误 : UnhandledPromiseRejectionWarning: TypeError: sessionClient. projectAgentSessionPath 不是函数

javascript - knockout - 问题编辑项目弹出

javascript - 当在 Sharepoint 日历中单击更多项目旁边的三 Angular 形符号时,需要调用 javascript 中的方法