美文网首页
this的用法

this的用法

作者: 笃笃木鱼 | 来源:发表于2019-01-17 11:30 被阅读0次

this 是函数 运行时  在函数体内部生成的一个  对象

不同运行环境,this的值不同

一、纯粹函数调用

var x = 1

function test() {

    console.log(this.x)

}

test()//1

全局调用,this即window

二、对象的方法

function test() {

    console.log(this.x)

}

let obj = {}

obj.x=1

obj.m=test

obj.m()//1

函数作为对象的一个方法,调用时的this指上级对象

三、构造函数调用

所谓构造函数,就是通过这个函数,可以生成一个新对象。此时,this指向这个新对象。

let x=2

function test() {

    this.x=1

}

let obj= new test()

obj.x//1

x//2

四、apply调用

apply()是函数的一个方法,作用是改变函数作用对象,它的第一个参数表示改变后的作用对象。this即指向第一个参数

var x=0

function test(){

    console.log(this.x)

}

let obj={}

obj.x=1

obj.m=test

obj.m.apply()//0

obj.m.apply(obj)

apply 参数为空,此时默认为全局对象

相关文章

网友评论

      本文标题:this的用法

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