为了账号安全,请及时绑定邮箱和手机立即绑定

关于全局变量,node下和浏览器下输出为什么不一样?是因为严格模式吗?求详解

关于全局变量,node下和浏览器下输出为什么不一样?是因为严格模式吗?求详解

一只萌萌小番薯 2019-03-10 14:30:24
node版本 10.13.0var name = "window";function foo() {    var name = "inner";    console.log(this.name); } foo();  // undefined码chrome 69 严格模式和非严格模式差别就是在严格模式上吗?node的严格模式是自动启用的?多谢各位大佬
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

差别在作用域上,node 默认没有启用严格模式。
浏览器中,全局作用域下声明的变量会自动成为全局变量(window 下的一个属性)。
node中,每个模块(文件)有自己模块作用域,你在里面声明一个变量并不会成为 node 的全局变量,而只是这个模块作用域下的变量。

查看完整回答
反对 回复 2019-03-10
  • 2 回答
  • 0 关注
  • 760 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信