绑定和调用有什么区别?
问题描述:
它似乎绑定和呼叫做同样的事情。每个人都有优点/缺点吗?绑定和调用有什么区别?
<script type="text/javascript">
var x = {
name : "test"
}
function a1() {
a2.bind(x)(); a2.call(x);
}
function a2() {
console.log(this);
}
a1(); // output x object.
</script>
答
.call
立即执行该功能。 .bind
返回一个新的功能,可以在您方便的时候执行。例如它可以用作回调。
对于某些特定的效果子集,'bind'和'call'可以以不同的方式使用以达到相同的效果。这不同于“他们做同样的事情”。如果他们做了同样的事情,我相信现在有人会注意到并从标准中删除其中的一个。 – Jon 2014-09-02 20:38:15