题解 | #函数的上下文#

函数的上下文

https://www.nowcoder.com/practice/5e97b94794bd438f893137b2d3b28a6a

思路:使用call、apply、bind,注意区别即可。

function speak(fn, obj) 
{
    return fn.call(obj)
}
function speak(fn, obj) 
{
    return fn.apply(obj)
}
function speak(fn, obj) 
{
    return fn.bind(obj)()
}

总结:call()、bind()、apply()的用法,改变this的指向,区别在于:f.bind(obj, arg1, arg2,...)(),bind()方法创建一个新的函数,故需要自己调用;f.call(obj, arg1, arg2...),call()方法在调用函数后会返回函数的执行结果,call可以接受多个参数;f.apply(obj, [arg1, arg2, .]),apply()方法在调用函数后会返回函数的执行结果,apply可以接受一个数组参数列表。

#函数的上下文#
前端js面试 文章被收录于专栏

前端js面试,帮助你更好的理解js。

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务