前端成长之路读书

函数的四种调用方式

2019-03-23  本文已影响1人  米若晨风

调用函数有4种方式:

  1. obj.func(); //直接用对象调用,或直接方法调用
  2. func.call(obj,args);//参数列出,call可以改变函数运行的作用域
  3. func.apply(obj,[m,n......]);//参数数组,apply同样可以改变函数运行的作用域,与call区别在于,第二个参数用数组的方式传入
  4. func.bind() //bind()返回的是一个函数,需要bind()参数放绑定的对象,后面再加括号才执行
    var name="wang",age=17;
    var obj={
        name:"zhang",
      objAge:this.age,
      myfun:function(){console.log(this.name+"年龄"+this.age)}
    }; 
    var db={name:"dema",age:99} ; 
    obj.myfun();                               //zhang年龄undefined
    obj.myfun.call(db);                //dema年龄99
    obj.myfun.apply(db);      //dema年龄99
    obj.myfun.bind(db);       // ƒ (){console.log(this.name+"年龄"+this.age)}
    console.log(obj.objAge);    //17,此时this指向window
上一篇 下一篇

猜你喜欢

热点阅读