频道栏目
首页 > 资讯 > JavaScript > 正文

浅析JavaScript中函数调用的方式

17-09-28        来源:[db:作者]  
收藏   我要投稿

JavaScript中函数调用的方式

作为普通函数调用

function foo(){
  console.log("作为普通函数调用");
}

?

作为对象方法调用

var o = {
  foo: function(){
    console.log("作为对象方法调用");
  }
}

?

作为构造函数调用

function Foo(){
  this.bar = "作为构造函数调用";
}

var o = new Foo();
console.log(o.bar);     //作为构造函数调用

?

使用call、apply调用

function foo(){
    console.log(this.a);
}
var a = "作为普通函数调用";
foo();  //作为普通函数调用
var o1 = Object.create(null);
var o2 = Object.create(null);
o1.a = "使用call调用";
o2.a = "使用apply调用";
foo.call(o1);   //使用call调用
foo.apply(o2);  //使用apply调用

call、apply的作用是一样的——将函数的执行上下文(this)绑定到第一个参数上,区别在于call可以将原函数的其他参数直接传入,而apply则是以数组的形式传入。

//这里不做任何校验
function foo(a, b){
    return this.number + a + b;
}
var o = {
    number: 2
}
foo.call(o, 2, 2);      //6
foo.apply(o, [2,2]);    //6

?

相关TAG标签
上一篇:C语言用代码实现读取二进制文件功能
下一篇:linux/unix下修改oracle数据库实例名的方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站