JS中this的用法

2017-02-08  本文已影响0人  kahn17


js中thisd的用法

* this是js中的关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,一般情况下,this指代的是调用函数的当前对象.细分来说,有以下的用法

* 1:纯粹的函数调用

*这是最通常的用法,属于全局性调用,因此this就代表全局对象Global

*var x = 1;

function test1() {

this.x = 0

console.log(x);

}

test1()//x=0,证明正常的函数调用属于全局性调用

*

*2.作为对象方法调用

*函数作为某个对象的方法调用,则this指这个上级对象

*var x = 1

function test2() {

console.log(this.x)

}

var obj = {}

obj.x = 2

obj.m = test2

obj.m()//x = 2,所以这里this指的是当前调用函数的对象

3.作为构造函数调用

所谓构造函数,就是通过函数构造一个新的对象(Object),这时this指这个新的对象

var x = 23

function test3() {

this.x = 1

}

var obj = new test3()

console.log(obj.x)//x =1

4.apply调用

apply是Function原型的一个方法,用于改变函数的调用对象,它的第一个参数就是调用的对象名,因此this指第一个参数

var x = 23

function test4() {

console.log(this.x)

}

var obj = {}

obj.m = test4

obj.x = 1

obj.m()//x = 1

obj.m.apply()//x = 23

obj.m.apply(obj)//x = 1

上一篇 下一篇

猜你喜欢

热点阅读