2018-06-20 21:22
西安理工大学 前端工程师 0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
2018-04-09 22:18
西安理工大学 前端工程师 0 点赞 评论 收藏
分享
2018-04-05 20:48
西安理工大学 前端工程师 骑猪乱撞:你这个是在node环境下运行的结果吧实际代码相当于: var a = 1;
function func() {
var a;
console.log(a) // undefined
a = 2;
console.log(this.a); // 1
}
func();
第一个输出,由于存在变量提升,实际访问的a只是刚声明,故打印undefined第二个输出,函数内部的this取决于函数运行时的环境,在浏览器环境中全局对象为window,获取到的是window.a,因为全局对象的属性和全局变量是等价的,它的值就是全局变量a的值另外的需要注意的是,全局对象的属性与全局变量等价这句话对于node来说只在repl环境适用,在模块环境中要将: var a = 1;
改为 global.a = 1;
得到同样的结果:undefined, 1
投递腾讯等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: