理解 JavaScript 中的 this
来源:互联网 发布:淘宝网店铺装修模板 编辑:程序博客网 时间:2024/05/01 09:33
特性: 运行期绑定, 它可以是全局对象、当前对象或者任意对象,完全取决于函数的调用方式。JavaScript 中函数的调用有以下几种方式:作为对象方法调用,作为函数调用,作为构造函数调用,和使用 apply 或 call 调用。
1: 在 JavaScript 中,函数也是对象,因此函数可以作为一个对象的属性,此时该函数被称为该对象的方法,在使用这种调用方式时,this 被自然绑定到该对象。
2: 函数直接被调用,此时 this 绑定到全局对象。
function abc(){ function efg(){ console.log(this);//这个this 绑定到全局对象 } efg();}abc();
3.JavaScript 支持面向对象式编程,JavaScript 中的构造函数很特殊,如果不使用 new 调用,则和普通函数一样。如果 new 成功,this 绑定到新创建的对象上。作为又一项约定俗成的准则,构造函数以大写字母开头,提醒调用者使用正确的方式调用。
4.在 JavaScript 中函数也是对象,对象则有方法,apply 和 call 就是函数对象的方法。他们允许切换函数执行的上下文环境(context),即 this 绑定的对象。
function Point(x, y){ this.x = x; this.y = y; this.moveTo = function(x, y){ this.x = x; this.y = y; } } var p1 = new Point(0, 0); var p2 = {x: 0, y: 0}; p1.moveTo(1, 1); p1.moveTo.apply(p2, [10, 10]);//对象P2,调用对象p1的方法, this 绑定到 对象p2
另一个方法 call 也具备同样功能,不同的是最后的参数不是作为一个数组统一传入,而是分开传入的。
参考; http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/
- 理解 JavaScript 中的 this
- 理解JavaScript 中的 this
- 理解JavaScript中的this
- javascript中的关键字this理解
- 理解JavaScript中的this关键词
- 理解JavaScript中的this用法
- 深入理解JavaScript中的this
- 全面理解 JavaScript 中的 this
- JavaScript中的this的深入理解
- 深入理解JavaScript中的this关键字
- 深入理解JavaScript中的this关键字
- 深入理解JavaScript中的this关键字
- 深入理解JavaScript中的this关键字
- 深入理解JavaScript中的this关键字
- 深入理解JavaScript中的this关键字
- 深入理解JavaScript中的this关键字
- 深入理解JavaScript中的this关键字
- 深入理解JavaScript中的this关键字
- 责任心与态度比技术更重要
- 数据库引擎优化顾问使用方法
- linux 维护几个常用命令
- 记2013年5月苏州之行
- js文件的引入顺序
- 理解 JavaScript 中的 this
- NSURLConnection 发送https 协议正常收到response
- 2014年计算机求职总结--准备篇
- 数据挖掘、推荐算法
- ORACLE 字符的查看与修改 以utf8为例
- SQLite3 命令行命令介绍
- WebService 学习(2)
- 世界首富比尔·盖茨面湖而建的6000万美元豪宅被誉为美国除白宫外最受瞩目的名人官邸
- velocity freemarker比较