Javascript中“this”关键字的目的是什么?
What is the purpose of 'this' keyword in Javascript
与其他语言不同,在JavaScript中,this
总是指我们正在执行的函数的"所有者",或者更确切地说,是指函数作为方法的对象。
与其他语言相比,这种行为的优势/目的是什么?
由于您可以设置"this",因此您可以设置调用的任何函数的范围,从而允许您使用函数闭包做一些有趣的事情。这就是大多数JS框架允许你做更自然的面向对象的类行为的方式。当您有事件侦听器并希望设置侦听函数的范围时,这尤其有用。
- 默认情况下,这是指全局对象。
- 当函数作为父对象的属性调用时,这是指该函数内的父对象。
- 当使用 new 运算符调用函数时,这是指该函数内新创建的对象。 当使用 call 或 apply
- 调用函数时,这是指传递给 call 或 apply 的第一个参数。如果第一个参数为 null 或不是对象,则引用全局对象。
取自 http://unschooled.org/2012/03/understanding-javascript-this/
还要研究一下。
http://javascriptplayground.com/blog/2012/04/javascript-variable-scope-this
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- Javascript中“this”关键字的目的是什么?
- 在javascript中使用“new”关键字的替代方案是什么?
- 蜘蛛中的“extends”关键字是什么
- 此代码中发生了什么,如果没有“with”关键字,以下内容的基本实现是什么
- “this”关键字在下面的Javascript代码中指的是什么
- “char”关键字的用途是什么
- “return”关键字在“forEach”函数中是什么意思
- 在self.setInterval中,jquery关键字self-referred指的是什么?jquery
- javascript注释中全局关键字的用途是什么
- 当用作函数参数/agrument时,关键字this指的是什么
- extends关键字在这个上下文中是什么意思?
- 在React JS中,这个关键字之前的::是什么?
- 使用function和“new”的设计意图是什么?关键字在Javascript中创建对象
- QML中默认关键字的用途是什么
- 这个关键字在方法的 js 内部方法中的逻辑是什么