js中的call()函数和apply()函数的作用是用于指定作用域和传参
用于传参,请看以下代码:
<script type="text/javascript">
function sum(num1,num2){
return num1 + num2;
}
function callSum1(num1,num2){
return sum.apply(this,arguments);
}
function callSum2(num1,num2){
return sum.apply(this,[num1,num2]);
}
console.log(callSum1(10,10));//20
console.log(callSum2(10,10));//20
function callSum3(num1,num2){
return sum.call(this,num1,num2);
}
console.log(callSum3(10,10));//20
</script>
用于指定作用域:
<script type="text/javascript">
window.color = "red";
var o = {color:"blue"};
function sayColor(){
console.log(this.color);
}
sayColor.call(this);
sayColor.call(window);
sayColor.call(o);
</script>