zoukankan      html  css  js  c++  java
  • JavaScript中的构造函数 renturn

       javascript中构造函数是不需要有返回值的,但是如果其中添加了 return 语句结果会如何呢:

    看如下代码:

    示例1.

    var Calculator = function () {
                    return {
                        add: function (x, y) {
                            return x + y;
                        }
                    };
                };
    

      执行如下代码:

    var calculator = new Calculator();
                console.log(calculator);
                console.log(calculator.add(2, 2));

      运行结果:

    示例2:

     var Calculator = function () {
                    this.addnew = function (x, y) {
                        return x + y;
                    }
                    return 1;
                };
    

    执行如下代码:

     var calculator = new Calculator();
            console.log(calculator);
            console.log(calculator.addnew(2, 2));
    

      

      运行结果:

    示例3:

    var Calculator = function () {
                    this.addnew = function (x, y) {
                        return x + y;
                    }
                    return "1";
                };
    

    执行如下代码:

     var calculator = new Calculator();
            console.log(calculator);
            console.log(calculator.addnew(2, 2));
    

      

      

    运行结果:

    示例4:

    var Calculator = function () {
                    this.addnew = function (x, y) {
                        return x + y;
                    }
                    return null;
                };
    

    执行如下代码:

     var calculator = new Calculator();
            console.log(calculator);
            console.log(calculator.addnew(2, 2));
    

      

     

     运行结果:

    示例5:

    var Calculator = function () {
                    this.addnew = function (x, y) {
                        return x + y;
                    }
                    return undefined;
                };
    

    执行如下代码:

     var calculator = new Calculator();
            console.log(calculator);
            console.log(calculator.addnew(2, 2));
    

      

     

     运行结果:

    示例6:

    var Calculator = function () {
                    this.addnew = function (x, y) {
                        return x + y;
                    }
                    return {};
                };
    

    执行如下代码:

     var calculator = new Calculator();
            console.log(calculator);
            console.log(calculator.addnew(2, 2));
    

      

     

     运行结果:

     举例7:

    function test() {
                    return function () {
                        alert(1);
                    }
                }
    

      运行如下代码:

     var ts = new test();
                console.log(ts);
    

      运行结果:

    总结:如果return的是非对象(数字、字符串、布尔类型等)会忽而略返回值;如果return的是对象,则返回该对象。

  • 相关阅读:
    LA 6621 /ZOJ 3736 Pocket Cube 打表+暴力
    UVA 10273
    UVA 10158 并查集的经典应用
    CodeForces 382B 数学推导
    UVA 10806 最小费用最大流
    UVA 10330 最大流
    图论:匹配与覆盖+独立集 团与支配集
    sdut oj 操作系统实验--SSTF磁盘调度算法【操作系统算法】
    【转载】单调队列学习
    poj 3006 Dirichlet's Theorem on Arithmetic Progressions【素数问题】
  • 原文地址:https://www.cnblogs.com/huaan011/p/6808829.html
Copyright © 2011-2022 走看看