美文网首页
JS函数的定义与调用方法

JS函数的定义与调用方法

作者: binginto | 来源:发表于2017-05-11 20:58 被阅读0次

    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()方法接收两个参数:一个是在其中运行函数的作用域,另一个是参数数组。

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

    相关文章

      网友评论

          本文标题:JS函数的定义与调用方法

          本文链接:https://www.haomeiwen.com/subject/wyentxtx.html