作用域和 this
来源:互联网 发布:大疆无人机 知乎 编辑:程序博客网 时间:2024/04/25 20:56
var a = 10;function test(){ a = 100; console.log(a); console.log(this.a); var a; console.log(a);}test();
var a = 100;function test(){ console.log(a); var a = 10; console.log(a);}test();
var a = 100;function test(){ console.log(a); a = 10; console.log(a);}test();console.log(a);
在非严格环境下,以上三个代码分别输出什么?碰到这种题目我也是头晕眼花,稍有不慎就掉坑了。当然实际业务中不会出现这样的代码,但还是相当有必要以这样的代码来检查对 JavaScript
理解的程度。this
的用法参照阮一峰老师的博客,主要分为三种情况,但总的原则是指向调用函数的那个对象。
全局环境:调用函数的对象实际为
window
,所以函数内的this
指向window
;构造函数:通过构造函造函数生成了一个新对象,
this
指向这个新对象。对象的方法:函数作为对象的某个方法调用,
this
就指向这个上级对象。
故第一道题中属于全局环境, this
指向 window
,所以输出结果为:100,10,100;
第二道题输出结果为:undefined,10;第三道题输出结果为:100,10,10;
0 0
- 作用域和 this
- 详解JS作用域和this关键字
- 作用域和上下文、this关键字
- JavaScript之函数和this作用域
- JS作用域和this机制
- javascript作用域和闭包,this
- JS this作用域
- 作用域学习--------this
- 作用域以及this
- this作用域
- 理解javascript原型和作用域系列之this说明
- JS容易犯错的this和作用域
- 【前端学习】javascript作用域(链)和this
- javascript--作用域,声明提前和this关键字总结
- javascript 函数和作用域(函数,this)(六)
- javascript 函数和作用域(函数,this)(六)
- javascript 函数和作用域(函数,this)(六)
- javascript 函数和作用域(函数,this)(六)
- 20161203
- 【例题】【Splay】NKOJ2504 区间翻转问题
- setTimeout 深入分析其机制
- java获取文件夹下所有文件
- Android TextView文字横向自动滚动(跑马灯)
- 作用域和 this
- 类加载器学习
- raw格式(裸数据)格式文件读写
- VHDL TestBench数据产生方式
- c++中浮点数的存储方式
- 斯特林数的研究
- 使用SSH时提示 ”Server responded "Algorithm negotiation failed"
- 数据库ID---转载自http://www.cnblogs.com/kissdodog/archive/2013/05/28/3102862.html
- MVC,MVP,MVPVM(二)提升效率之Templates