js中this关键字的值

在javascript中,this的值主要可以去四个方面去进行判断:

1、函数调用级别:

function func(){
	console.log(this);
}
func();
这里面输出的this就是Global对象了,如果在浏览器内,this就是window对象

2、方法调用级别:

var person = {
	name:'xiaoming',
	say:function(){
		console.log(this.name);
	}
}
person.say();
输出结果为xiaoming,这里的this指的就是person了。

3、对象调用级别:

function func(){
	console.log(this);
}
var obj = new func(); 

如果是使用new来初始化一个变量,那此时的this指的就是你new所指向的那个对象,也就是obj了。

4、使用call方法或者applay方法。

func.call(thisObject)和func.apply(thisObject)的形式被称为Apply Pattern,在这种模式下,call和apply的第一个参数就是func函数体内的this,如果thisObject是null或undefined,那么会变成Global对象。

本文参考:http://otakustay.com/object-lookup-in-javascript/ (文章中除了说了this关键字的值判断,还讲了js中对象查找的规律,推荐查看)






转载于:https://my.oschina.net/xiaoxinlin/blog/541081

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值