JS中this用法

PHPABC JavaScript 922 次浏览 , 没有评论

this是JS语言的一个关键字,只能在函数中运行。this可以指向当前代码运行对象本身或者是全局对象。也可以通过apply()方法改变函数的调用对象。下面是代码举例
1、在函数中,this就代表全局对象Global。

var x = 9;
function test(){
console.log(this.x);
}
test();//this指向全局对象

2、在对象的函数中,this指向对象本身。

var obj={};
obj.x = 10;
obj.func = function(){
console.log(this.x);
}
obj.func ();//对象obj,输出10
console.log(obj);

3、在构造函数生成对象时,this指向新对象。

var x = 2;
function test(){
this.x = 1;
}
var obj = new test();
console.log(obj.x);//对象obj,输出1
console.log(x);//2

4、apply函数的用法,可以传对象名,也可以不传。不传的时候指向全局对象。

var x = 0;
var otherObj = {x:10};
function test(){
console.log(this.x);
}
var obj={};
obj.x = 1;
obj.func = test;
obj.func ();//对象o,输出1
obj.func .apply(); //全局,输出0
obj.func .apply(otherObj); //对象otherObj,输出10

注:如果在函数中运行,就指向全局对象,在对象中,就指向当前对象本身

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go