this指向

this指向
this是在运行时绑定的,并不是在编写时绑定,它的上下文取决于函数调用时
this的绑定与函数无关,之取决于函数的调用方式

this的四种调用方式用模式
1 普通函数调用模式
2对象方法调用模式
3构造器调用模式
4call() apply() bind()

1普通函数调用模式

(1)函数调用模式中的函数不是对象的属性值,而是直接作为函数调用
在这种模式下this指向全局对象

 

普通箭头函数this指向
函数的this指向遵循一个基本原则:谁调用的函数,函数的this就指向谁,
否则指向全局。

箭头函数this指向
首相我们要知道,箭头函数本身没有this,箭头函数this是定义箭头函数时
父级作用域的this,也就是说使用箭头函数时,箭头函数内部的this我们
需要的this我们只需要看定义该函数时,该箭头函数父级的this即可

(2)对象方法调用模式
方法调用模式是指函数作为对象的属性 方法 被调用


(3)构造器调用模式
通过构造函数创建一个实例后,那么this就会指向这个实例。当然其结果是因为
new操作时会自动执行一些操作。


1 在内存中创建一个新对象
2将新对象的原型指向构造函数prototype的值
3将新对象的值赋值给构造函数内部的this(this指向新对象)
4执行构造函数返回非空对象,则返回该对象,否则返回刚创建的新对象

 

(4)call apply bind
使用ca ll,apply,bind可以显示的将this指向某个对象


apply与call的区别(面试中比较常见)
apply与call第一个参数都是this将指向的对象;apply第二个参数是一个
数组作为参数,call第一个参数后可以接受任意一个参数

5几种调用模式优先级
构造器调用>call,apply,bind>对象方法调用>普通方法调用


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值