每个func 都会继承call apply等方法。
function print(mesage)
{
console.log(mesage);
return mesage;
}
print.call(this, "cnblogs");//cnblogs
call(thisAgr,agr1,agr2...) ,call方法第一个传递一个context上下文。后面是参数的个数。
apply(thisAgr,[agr1,agr2]),apply方法和call的用法一样,只是传递的参数会有所不同。。
function print(a,b)
{
console.log(a + b);
}
print.apply(this, ["hello","cnblogs"]);
bind就是将函数把绑定至摸个对象。
<script>
function f(y) { alert(this.x + y); }
var o = { x: 1 };
var g= f.bind(o);
g(2);//3
</script>
call apply 函数的调用,和直接使用函数调用是一样的。
call apply 也是可以模仿bind 方法的。
<script>
function f(y) { alert(this.x + y); }
var o = { x: 1 };
f.call(o, 2);//3
f.apply(o, [3]);//4
</script>
javaScript 工作必知(十) call apply bind
原文:http://www.cnblogs.com/fandong90/p/5557444.html