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是一个可变长参数。

猜你喜欢

转载自blog.csdn.net/csdn_meng/article/details/83623547
今日推荐