美文网首页
this指向的理解

this指向的理解

作者: 不懂套路 | 来源:发表于2018-10-10 17:26 被阅读0次

关于this指向,是这几天学微信小程序开发时才恶补的,所以理解的不是很全面,但是还是有很多的收获的,所以想记录下来。
this在js中相当于指针的作用,但是和指针不同的是他的只想对象是分不同情况有很多变化的。this就是函数运行时所在的环境对象。

一、单纯的函数调用

var x = 2;
function first(){
console.log(this,x);
}
first();
此时输出的结果为2,因为上面说过了,this就是函数运行时所在的环境对象,而这时函数的环境为全局对象,因此this指向的就是全局变量中的x,即为2。

二、作为对象的调用

function first(){
console.log(this.x);
}
var a = {};
a.x = 3;
a.p = first;
first();

此时例一输出的结果为3,因为这是的函数是拥有上级函数的则此时的函数环境对象为其的上级函数,则this指向a,因此为a.x的值。

三、构造函数

当构造一个新的函数时,这是this指向这个新的函数。(new)

function first(){
this.x = 1;
}
var a = new first();
a.x;
这是的结果为1,因为new了一个新的函数,因此此时tihs的指向变成了new的这个新函数,而不是全局变量。如下:

var x = 2;
function first(){
this.x = 1;
}
var a = new first();
a.x;
x;
此时打印x的话,其值为2。

相关文章

  • this指向的理解

    关于this指向,是这几天学微信小程序开发时才恶补的,所以理解的不是很全面,但是还是有很多的收获的,所以想记录下来...

  • 如何理解this的指向

    this是JS中一个关键字,this的指向是不确定的,可以动态改变,这样设计可以让代码更加灵活,复用性也更高,那么...

  • 关于this指向的理解

    平时遇到的this指向问题 例1 例2 例3 例4

  • 简单理解this指向

    this的指向 函数中的this是在运行时候决定的,而不是函数定义时全局环境中的this指window其他函数中的...

  • 如何理解JavaScript this的指向

    实习期间写代码时候就感觉this很迷。有些不知所措。后来查看了部分文章。 this最终指向的是调用它的对象(这个已...

  • 理解js中this指向

    先“死记硬背”以下几条规律:1、在函数体中,非显式或隐式的简单调用函数时,在严格模式下,函数内的this会被绑定到...

  • 面试题的总结与解答

    1,js中this指向的理解 在js面向对象编程里我们避免不了使用this,所以理解this指向对于在面向对象编程...

  • 彻底理解js中this的指向

    this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向...

  • 关于js中this指向的理解

    https://www.cnblogs.com/pssp/p/5216085.html 上面那个例子是以前看的,现...

  • 彻底理解 JS 中 this 的指向

    原文链接:http://web.jobbole.com/88264/

网友评论

      本文标题:this指向的理解

      本文链接:https://www.haomeiwen.com/subject/clmjaftx.html