callback() 回调函数
JS是单线程函数,单线程所有的函数执行都是同步的,前一个函数执行完之后再执行下一个函数,这样的话如果排队的函数很多就会造成页面长时间无响应
所以,就要用到了JS异步callback
怎么理解callbck ?
字面上理解下来就是,回调就是一个函数的调用过程。那么就从理解这个调用过程开始吧。函数a有一个参数,这个参数是个函数b,
当函数a执行完以后执行函数b。那么这个过程就叫回调。
代码如下
//定义主函数,回调函数作为参数 function A(callback) { callback(); console.log('我是主函数'); } //定义回调函数 function B(){ setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作 } //调用主函数,将函数B传进去 A(B); //输出结果 我是主函数 我是回调函数
call 改变作用域的this 的指向
我们来定义几个对象
//在浏览器的window 全局对象添加一个name,在docment对象添加一个name,声明一个对象添加name属性
apply 也是改变作用域的this 的指向,但是与call不同的地方就是 call必须单个传参,而apply以数组形式多个传参
输出:Bill Gates,Seatle,USA