一、作为一个函数调用
<script type="text/javascript">
function fun(a,b){
return a+b;
}
console.log(fun(1,2)); //3
</script>
二、作为方法调用
<script type="text/javascript">
var obj = {
num1 : 3,
num2 : 2,
sum : function (){
return this.num1 + this.num2;
}
}
console.log(obj.sum()); //5
</script>
三、使用构造函数调用
<script type="text/javascript">
function Fun(a,b){
this.a = a;
this.b = b;
}
var fun1 = new Fun(3,5);
console.log(fun1.a); //3
</script>
四、call(),apply()和bind()方法
<script type="text/javascript">
function fun(a,b){
return a+b;
}
var obj = fun.call(obj,5,6);
console.log(obj); //11
</script>
<script type="text/javascript">
function fun(a,b){
return a+b;
}
var arr = [5,6]
var obj = fun.apply(obj,arr);
console.log(obj); //11
</script>
- bind():返回的是函数,参数可以直接传也可以在心函数执行的时候传。
<script type="text/javascript">
function fun(a,b){
return a+b;
}
var obj = fun.bind(obj,3);
console.log(obj(3)); //6
</script>
网友评论