JS函数的定义与调用方法

JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式

1.方法调用模式:

先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject

对象。

var blogInfo={

blogId:123,

blogName:"werwr",

showBlog:function(){alert(this.blogId);}

};

blogInfo.showBlog();

2.函数调用模式

定义一个函数,设置一个变量名保存函数,这时this指向到window对象。

var myfunc = function(a,b){

return a+b;

}

alert(myfunc(3,4));

3.构造器调用模式

定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。

var myfunc = function(a){

this.a = a;

};

myfunc.prototype = {

show:function(){alert(this.a);}

}

var newfunc = new myfunc("123123123");

newfunc.show();

4.apply,call调用模式

var myobject={};

var sum = function(a,b){

return a+b;

};

var sum2 = sum.call(myobject,10,30); //var sum2 = sum.apply(myobject,[10,30]);

alert(sum2);


调用函数可以使用call或者apply这两个方法,区别在于call需要将传递给函数的参数明确写出来,是多少参数就需要写多少参数。而apply则将传递给函数的参数放入一个数组中,传入参数数组即可。


每个函数都包含两个非继承而来的方法:apply()和 call(),这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。首先,apply()方法接收两个参数:一个是在其中运行函数的作用域,另一个是参数数组。


闭包会增加内存泄漏的风险

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,447评论 1 10
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,387评论 2 17
  • 第一章 编译原理 js是一门编译语言 传统编译语言流程: 分词/词法分析:把字符串分解成有意义的代码块 解析/语法...
    冥冥2017阅读 3,707评论 0 0
  • 说起来 ECMAScript 中什么有意思,我想那莫过于函数了——而有意思的根源,则在于函数实际上是对象。每个函数...
    查查查查查查克阅读 5,367评论 2 17
  • 最近读完了三本书,分别是周成林的《爱与希望的小街》、王道的《流动的斯文》、徐晓的《半生为人》,其中最喜...
    侬家门外阅读 4,110评论 1 2

友情链接更多精彩内容