基层建设检索网站,门户网站建设不断,网站建设推广书籍,伯维网站建设JavaScript this 关键字面向对象语言中 this 表示当前对象的一个引用。但在 JavaScript 中 this 不是固定不变的#xff0c;它会随着执行环境的改变而改变。在方法中#xff0c;this 表示该方法所属的对象。如果单独使用#xff0c;this 表示全局对象。在函数中#xff0c;…JavaScript this 关键字面向对象语言中 this 表示当前对象的一个引用。但在 JavaScript 中 this 不是固定不变的它会随着执行环境的改变而改变。在方法中this 表示该方法所属的对象。如果单独使用this 表示全局对象。在函数中this 表示全局对象。在函数中在严格模式下this 是未定义的(undefined)。在事件中this 表示接收事件的元素。类似 call() 和 apply() 方法可以将 this 引用到任何对象。实例varperson{firstName:John,lastName:Doe,id:5566,fullName:function(){returnthis.firstNamethis.lastName;}};尝试一下 »方法中的 this在对象方法中 this 指向调用它所在方法的对象。在上面一个实例中this 表示 person 对象。fullName 方法所属的对象就是 person。实例fullName:function(){returnthis.firstNamethis.lastName;}尝试一下 »单独使用 this单独使用 this则它指向全局(Global)对象。在浏览器中window 就是该全局对象为 [object Window]:实例varxthis;尝试一下 »严格模式下如果单独使用this 也是指向全局(Global)对象。实例use strict;varxthis;尝试一下 »函数中使用 this(默认)在函数中函数的所属者默认绑定到 this 上。在浏览器中window 就是该全局对象为 [object Window]:实例functionmyFunction(){returnthis;}尝试一下 »函数中使用 this(严格模式)严格模式下函数是没有绑定到 this 上这时候 this 是 undefined。实例use strict;functionmyFunction(){returnthis;}尝试一下 »事件中的 this在 HTML 事件句柄中this 指向了接收事件的 HTML 元素实例点我后我就消失了尝试一下 »对象方法中绑定下面实例中this 是 person 对象person 对象是函数的所有者实例varperson{firstName:John,lastName:Doe,id:5566,myFunction:function(){returnthis;}};尝试一下 »实例varperson{firstName:John,lastName:Doe,id:5566,fullName:function(){returnthis.firstNamethis.lastName;}};尝试一下 »说明: this.firstName 表示this (person) 对象的 firstName 属性。显式函数绑定在 JavaScript 中函数也是对象对象则有方法apply 和 call 就是函数对象的方法。这两个方法异常强大他们允许切换函数执行的上下文环境(context)即 this 绑定的对象。在下面实例中当我们使用 person2 作为参数来调用 person1.fullName 方法时, this 将指向 person2, 即便它是 person1 的方法实例varperson1{fullName:function(){returnthis.firstNamethis.lastName;}}varperson2{firstName:John,lastName:Doe,}person1.fullName.call(person2);//返回 John Doe尝试一下 »