1. 程式人生 > >javascript中函式的call和apply

javascript中函式的call和apply

兩個方法需要的引數如下: call(作用域,引數1,引數2,引數3,…) apply(作用域,[引數1,引數2,引數3,…])

function sayName(){
	var name = this.name;
	console.log(name);
}
var p = {
	name:'Alien'
}
var name = 'King';

sayName.call(this);		//  King
sayName.call(p);		//Alien
sayName.apply(this); 	// King
sayName.apply(p); 		// Alien
function sum(num1,num2){
	return num1 + num2;
}

sum.call(this,1,3); 		// return 4
sum.apply(this,[1,3]);	// return 4

apply和call都是對函式的呼叫只是傳入引數的方式不同,apply第二個引數接收一個數組,而apply是一個可變長引數。