javaScript 工作必知(十) call apply bind
call
每个func 都会继承call apply等方法。
function print(mesage) { console.log(mesage); return mesage; } print.call(this, "cnblogs");//cnblogs
call(thisAgr,agr1,agr2...) ,call方法第一个传递一个context上下文。后面是参数的个数。
apply
apply(thisAgr,[agr1,agr2]),apply方法和call的用法一样,只是传递的参数会有所不同。。
function print(a,b) { console.log(a + b); } print.apply(this, ["hello","cnblogs"]);
bind
bind就是将函数把绑定至摸个对象。
<script> function f(y) { alert(this.x + y); } var o = { x: 1 }; var g= f.bind(o); g(2);//3 </script>
summary
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>
歡迎分享,謝謝!