this的汇总

说明:仅供学习和参考,转载请注明出处。
1. 普通函数或匿名函数自调中的this->window
严格模式下: this->undefined
2. obj.fun() fun中的this->obj 指代当前调用.前的对象
3. new Fun() Fun中的this->正在创建的新对象
4. 原型对象中的函数里的this->将来调用当前函数的.前的当前类型的子对象。
5. btn.οnclick=function(){… } this->btn js中的this指向当前点击事件的对象
6. 回调函数:
arr.forEach(function(){ … })
arr.map(function(){ … })
setInterval(function(){ … })
setTimeout(function(){ … })
$.ajax({

success:function(){ … }
}).then(function(){

})
回调函数中的this:this->window 所有回调函数,真正被调用时,前边是没有任何"对象."前缀所以,通常如果希望回调函数中的this不指window,而是跟外部的this保持一致,都要改为箭头函数
7. jQuery中的回调函数:
$().each(function(){ … })
$().animate({ … }, ms, function(){ … })
jQuery中的this:jquery中的多数回调函数,this->当前正在操作的dom元素
8.箭头函数:使内外this的指向一致
9.call():用来替换函数中不正确的this,在函数调用时,临时替换当前对象中的this
用法:函数.call(替换this的对象, 实参值列表…)
比如: salary.call(lilei, 10000,1000,2000)
(1). call是调用的意思,先调用salary函数
(2). call将第一个参数对象替换salary中的this
(3). call会将后续实参值列表注射入salary中传给形参
10.apply(): 与call()类似。如果传入的实参值是放在一个数组中的,可将call()换成apply(),apply()可先打散数组为单个值,再分别传入要调用的函数中。
11.bind():创建一个和原函数一模一样的函数副本,并永久绑定this为指定的对象
var newFun=原fun.bind(替换this的对象)
原理:(1). bind会创建一个和原函数一幕一样的新函数副本——只创建,并未调用
(2). 将新函数中的this,永久绑定为指定的对象
从此,调用新函数时,不用再每次都临时替换this
12.Vue中的this:vue中一切this都指向当前new Vue()对象。所以在vue js中访问任何变量都要加this.变量名。但是html中绑定变量名不用加this!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值