为了账号安全,请及时绑定邮箱和手机立即绑定

形参实参,同步异步,this的判断

标签:
JavaScript

parameters(形参) vs arguments(实参)

functioon print(a) {
    console.log(a);
}print('hello','i')

a就是形参,就是一个占坑符号。
hello就是实参

如何判断同步和异步

console.log('start');
['a','b'].forEach(function(it){    console.log(it);
});console.log('end');

如果是同步的话,就会顺序输出

start
a
bend

如果是异步的话

console.log('start');
setTimeout(function(){    console.log('a');
});console.log('end');

则会输出的是

startenda

this怎么判断

  • 判断this值就看函数是怎么被调用的

  1. 第一种情况指向全局。

function print(){    console.log(this)
}
  1. 第二种情况当成一个对象的一个方法,这时候this指向的最近的那个对象

let obj = {    a: 'a',
    fn(){        console.log(this);
    }
}
obj.fn()
  1. 第三种情况

function executeCallback(cb){
    cb();//cb是全局调用,cb就是obj.fn}
executeCallback(obj.fn);

这时候也是全局的情况



作者:徐金俊
链接:https://www.jianshu.com/p/0de2871fbd2b


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消