对JavaScript中函数绑定的理解;函数绑定可以使用哪两个函数?函数绑定一般使用在什么情况下?这两个函数的区别是什么?
问题
对JavaScript中函数绑定的理解;函数绑定可以使用哪两个函数?函数绑定一般使用在什么情况下?这两个函数的区别是什么?
知识点
当对象借用方法时可以用call
或apply
,
apply最多有2个参数,第一个参数是借用对象,第二个参数是数组类型。
call第一个参数为借用对象,后面的参数个数不限,都作为参数传递给被借用方法。
注意:内置对象arguments不是数组类型,是类数组,类数组转换为数组常用call和apply。
实例如下问题:获取第0个到第2个参数值:
call方法
function callFn () {
let aArg = Array.prototype.slice.call(arguments, 0, 3);
return aArg;
}
console.log(callFn('1', '2', '3', '4', '5', '6'))
输出结果:[ '1', '2', '3' ]
apply方法
function applyFn () {
let aArg = Array.prototype.slice.apply(arguments, [0, 3]);
return aArg;
}
console.log(applyFn('1', '2', '3', '4', '5', '6'))
输出结果:[ '1', '2', '3' ]
更多面试题
如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。
面试题 | ||
---|---|---|
HTML | CSS | JavaScript |
jQuery | Vue.js | React |
算法 | HTTP | Babel |
BootStrap | Electron | Gulp |
Node.js | 前端经验相关 | 前端综合 |
Webpack | 微信小程序 | - |
这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!