call()和apply()

call() apply()

未提供第一个参数则默认为Global

call():第二个参数可以是任意类型
apply():第二个参数必须是数组或arguments

function add(a,b) {
alert(a+b);
}
function sub(a,b) {
alert(a-b);
}
add.call(sub,3,1);
// == add(3,1); 用add()替换sub()
//对象、属性、方法都可替换。

Array.prototype.slice.call(arguments)
//能够将arguments转成数组
//因为arguments无slice方法

posted @ 2016-03-19 15:05  秋晨  阅读(116)  评论(0)    收藏  举报