this对象解析


this在js中有着非常广泛的应用,但其所指的对象也常常让人摸不着头脑,简而言之: this指的就是调用函数的对象,最常见的莫过以下几种

1.直接使用函数,则为window对象

function a(){
	this.a= 1
	console.log(this)
}
a() //window对象

window对象代表一个浏览器窗口,在js里是全局对象,所有的全局变量和函数都是他的属性,因此调用函数a的自然是window对象

2.作为对象属性被调用,是该对象

var o= {
	a: 1,
	b: function(){
		this.a= 2
		console.log(this.a)
		console.log(this)
	}
}
o.b()

输出结果:

3.作为构造函数的属性被调用,指的是该实例对象

function o() {
	this.a= 1;
	this.b= ()=>{
		console.log(this)
	}
}
var o1= new o()
o1.b()

4.apply或call函数调用,根据语法指的是第一个参数

function a(val){
	console.log(val)
	console.log(this)
}
a.call(1, 2)

输出结果为:

1调用了a函数,并将2作为参数,因此this指向数字1

优质内容筛选与推荐>>
1、c# 注册表操作,创建,删除,修改,判断节点是否存在
2、C#扑捉Ctrl+C、Ctrl+V
3、C# 基础(一) 访问修饰符、ref与out、标志枚举等等
4、网格布局中Spec的用法
5、周报(2017.3.19-3.16)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn