• 函数有几种调用方式?


    书上有说4中调用方式:

    • 方法调用模式
    • 函数调用模式
    • 构造器调用模式
    • apply调用模式

    下面我们来看看一些实例更好理解。

    1:方法调用模式。

    请注意this此时指向myobject。

    /*方法调用模式*/
        var myobject={
                value:0,
                inc:function(){
                        alert(this.value)
                    }
            }
        myobject.inc()

    2:函数调用模式

    请注意this此时指向window

    /*函数调用模式*/
        
        var add=function(a,b){
            alert(this)//this被绑顶到window
                return a+b;
            }
        var sum=add(3,4);
        alert(sum)

    3:构造器调用模式

    javascript语言精粹一书建议摒弃这中方式。因为有更好的方式。这里先不介绍。下次发表博文的时候贴出来。

    会在这里加一个连接。

    /*构造器调用模式  摒弃*/
        
        var quo=function(string){
                this.status=string;
            }
        quo.prototype.get_status=function(){
                return this.status;
            }
        var qq=new quo("aaa");
        alert(qq.get_status());

    4:apply调用模式

    例如:function add(a, b) { return a + b; }

    function sub(a, b) { return a - b; }

    /*apply用法

    * var a1 = sub.apply(add, [4, 2]);

    *var a2= add.apply(sub, [4, 2]);

    */

    var a1 = sub.call(add, 4, 2);

    var a2= add.call(sub, 4, 2);

    输出:a1=2 a2=6

  • 相关阅读:
    String、Stringbuilder、StringBuffer之间的练习与区别
    JAVA——重点非阻塞模型:NIO模型及IO操作步骤
    JAVA——IO模型分类
    SpringBoot(六) SpringBoot使用汇总(持续更新)
    Java高级(一) Future机制
    SpringBoot(二) 事务
    Java8(七) 新的DateTime API
    Java8(六) Optional
    Java8(五) 接口默认方法
    Java8(四) StreamAPI
  • 原文地址:https://www.cnblogs.com/frontendBY/p/4763900.html
Copyright © 2020-2023  润新知