zoukankan      html  css  js  c++  java
  • javascript 关于函数的返回值

    在javascript中根据调用方式的不同返回的内容也不同

    1.  以函数的形式调用

    当以函数的形式调用时, 返回值和函数定义时的 ruturn 有关, return的是数字就number类型, return字符串就是string类型, return 一个函数就得到Function类型, 总之return什么就得到什么.

    2. 以new操作符调用函数

    function A() {
        this.name = "Tom";
        this.age = 23;
    }
    var a = new A();

    这是典型的创建对象的方式, 但如果给这个A函数添加一个return 会是什么结果呢? 这里给出两种特殊的情况, 1.返回一个对象,  2. 返回一个 函数

    function A() {
        this.name = "";
        return {
            age:23
        };
    }
    var a = new A();

    这里的a.constructor是Object 说明他是通过 return 得到值的, 而不是通过new 得到的. 因为通过new得到的话 a.constructor 是 A

    function A() {
        this.name = "";
        return function () { }
    }
    var a = new A();

    这里的a是function类型, 而不是objiect 类型.说明new 也没有起到作用.

    3. 以call 和 apply 的方式调用

    这种方式的调用结果和以函数的形式调用的结果一样.

  • 相关阅读:
    Mac Mysql 修改初始化密码
    网址收藏
    Xcode 模拟器复制解决方案
    ios优秀的第三方框架
    CocoaPods第三方库管理工具
    ios网络请求
    java面试宝典
    SQL分表
    FastDFS+Nginx+Module
    分布式文件系统FastDFS架构认知
  • 原文地址:https://www.cnblogs.com/answercard/p/3893865.html
Copyright © 2011-2022 走看看