Bind Call and Apply in JavaScript

原创 mproxy 随笔 待整理 831阅读 2014-08-24 01:00:55 举报

原文在这里:https://variadic.me/posts/2013-10-22-bind-call-and-apply-in-javascript.html

这篇文章讲了下面这样的代码
[code] var bind = Function.prototype.call.bind(Function.prototype.bind); [/code]

会得到这样得效果
[code] x.y(z) -> y(x,z) [/code]

这里只能举例说明了,文章也是这样做的,不过最后我明白过来是写完了整个函数表达式才行的.

如果把上下文看成一个对象,叫做contentObj,有一个函数叫做func,有一个参数叫argu,可以得出如下结论.

[code]```
// call的情况
func.call(contentObj, argu)
// 相当于
contentObj.func(argu)

// bind的情况
var newFunc = func.bind(contentObj, argu)

// newFunc() 是等于 contentObj.func(argu)的

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复