前端技术-代码执行顺序和this指向专栏

专题–执行顺序和this指向

//执行顺序-宏任务和微任务
setTimeout(()=>{
console.log(“A”)
},0)
setTimeout(()=>{
console.log(“B”)
},1000)
Promise.resolve().then(() => {
setTimeout(() => {console.log(“c”)}, 0)
setTimeout(() => {console.log(“d”)}, 1000);
console.log(“e”)
Promise.resolve().then(() => {
console.log(“f”)
})
}).then(() => {console.log(“g”)})
setTimeout(()=>{
console.log(“h”)
},0)
setTimeout(()=>{
console.log(“i”)
},1000)

//当前页面从上到下的执行就可以看成一个任务队列—宏任务
//定时器时交给另一个东西,应该时定时器处理单元的。定时器到时间了,会把里面的回调函数放到宏任务的最后。
//promise产生的回调时微任务的一种,就是我排过队了,刚才时取钱,再顺便帮我办个信用卡吧

//拆解开:
//efgahcbid

This指向

所有函数在调用的时候,this 的指向一律都是:
沿着作用域向上找到最近的一个function,看这个function最终是怎样执行的。
const obj = {
foo:function(){
console.log(this) //1
const bar = () =>{
console.log(this)//2
}
bar()
}
}
obj.foo(),打印出来会指向obj
var func = obj.foo
func(),打印出来会指向全局
这种执行的时候,会是指向全局的。。(浏览器指向windwo,node指向全局对象)

1,看this 指向谁不能看定义,只能看调用
2,箭头函数不会改变this的指向,而且箭头函数绝也对不会决定this 的指向
3,ES6中function 关键字有省略的地方,比如可以直接写
render(){}这种虽然省略了function,但是可以理解为带着function。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值