js中this的作用和this的指向问题
2020-02-03 04:10
183 查看
我们在学习this的时候,我先给大家说点关于this的小知识点。
知识点:Javascript允许在函数体内部,引用当前环境的变量,this的设计目的就是在函数体内部,指代当前函数的运行环境。
当我们知道了这个知识点后,问题就简单多了。我们接下来把使用this的情况分为2类。
第一类:在全局下的函数与在对象里面的函数
var a = 1; function foo(){ return this.a } foo(); // 1 在全局环境下调用函数。
this指向的是全局环境,所以它引用的a是全局环境下的a。再看看这个例子:
var a = 3 ; var obj = { var a = 2 ; function foo(){ return this.a } } obj.foo(); // 2 (this指向的是obj这个环境,所以这个a的值是obj这个环境里面的a的值) foo();//3 (this指向的是全局环境,所以它引用的a是全局环境下的a)
第二类:在构造函数中的this
构造函数中this指向的是构造函数的实例。
var Foo = function(){ this.name = name return this } var fn= new Foo();
在这个例子里面的this指向的都是fn这个实例。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 关于JS中for循环时,作用域问题和this指针指向的总结
- js中的this指向问题及解决方案
- 解决js绑定事件this指向发生改变的问题
- JS中setTimeout的作用域以及this的指向问题
- js中的this指向问题
- js的this作用域问题
- 关于js构造函数中this的指向问题
- js中this指向问题
- 关于js中this的指向问题
- JS中this的指向问题(全)
- js 中this指向问题
- JS中的this指向问题
- JS中this指向的问题
- js中的this的指向问题详解
- 聊一聊JS中this的指向问题
- 微信小程序中this指向作用域问题this.setData is not a function报错
- js中this的指向问题归纳总结
- 解决js绑定事件this指向发生改变的问题
- js中的this指向问题
- js函数中this指向问题