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  秋晨  阅读(105)  评论(0编辑  收藏  举报