javascript函数调用的4种方式

this关键字,指代函数执行时的当前对象;

1,作为一个函数调用:

function myFunction(a,b){

    return a*b;    

     // return this;  // 返回window对象

}

myFunction(3,4);  // 12

当前的this,是全局的,属于window对象,window.myFunction()   //  12

这种常用的方式,但是不是良好的编程习惯,全局变量,方法和函数,容易造成命令冲突的bug;


2,函数作为方法调用:

var myObject={

    firstName:"zeng",

    lastName:"fanfan",

    fullName:function(){

        return this.firstName+" "+this.lastName;

        return this;  // [object,object] (所有者对象)

    }

}

myObject.fullName();  // zeng fanfan 


3:使用构造函数调用函数:

function myFunction(arg1,arg2){

    this.firstName=arg1;

    this.lastName=arg2;

}

var x=new myFunction("zeng","fanfan");

x.firstName;    //返回 zeng


4,作为函数方法调用函数;

  :  call() 和 apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。

var myObject;

function myFunction(a,b){

    return a*b;

}

myObject=myFunction.call(myObject , 3 , 4);  //返回 12

或:

function myFunction(a,b){

       return a*b;

}

 var myArray=[3,4];

var myObject=myFunction.apply(myObject . myArray)  //返回12    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值