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值就看函数是怎么被调用的
第一种情况指向全局。
function print(){ console.log(this) }
第二种情况当成一个对象的一个方法,这时候this指向的最近的那个对象
let obj = { a: 'a', fn(){ console.log(this); } } obj.fn()
第三种情况
function executeCallback(cb){ cb();//cb是全局调用,cb就是obj.fn} executeCallback(obj.fn);
这时候也是全局的情况
作者:徐金俊
链接:https://www.jianshu.com/p/0de2871fbd2b