-1

在 node.js 中

> var name = 12; 
> console.log(typeof name);
number

在 Firefox 的 Web 控制台中

var name = 12; 
console.log(typeof name);
string 

let name2 = 12; 
console.log(typeof name2);
number 

为什么Firefoxvar和in有区别?let

为什么 node.js 没有这样的区别?

4

2 回答 2

3

window在called上有一个内置属性name

console.log(name);

所以你的代码会寻找那个,而不是name你创建的。

于 2019-05-10T22:31:46.077 回答
-1

在我看来,从输出来看,node.js 并没有像 Firefox 的 web 控制台那样启动解释器的工作——这意味着在 node.js 中类似于它识别为数字的编译语言。在 Firefox 的 Web 控制台中,它使用 var 将“12”作为字符串保存到内存中,或者仅将其用作带有 let 的数字而不将其保存到内存中。

于 2019-05-10T22:42:31.253 回答