zoukankan      html  css  js  c++  java
  • 普通函数和构造函数的区别

    在命名规则上,构造函数一般是首字母大写,普通函数遵照小驼峰式命名法。
    在函数调用的时候:
    function fn() { }
         构造函数:1. new fn( )
                         2 .构造函数内部会创建一个新的对象,即f的实例
                         3. 函数内部的this指向 新创建的f的实例
                         4. 默认的返回值是f的实例
         普通函数:1. fn( )
                         2. 在调用函数的内部不会创建新的对象
                         3. 函数内部的this指向调用函数的对象(如果没有对象调用,默认是window)
                         4. 返回值由return语句决定
     
     构造函数的返回值
         有一个默认的返回值,新创建的对象(实例);
         当手动添加返回值后(return语句):
              1. 返回值是基本数据类型-->真正的返回值还是那个新创建的对象(实例)
              2. 返回值是复杂数据类型(对象)-->真正的返回值是这个对象
     
    看一个常见的面试题
     1 <script>
     2     function foo() {
     3         var f2 = new foo2();
     4         console.log(f2);    //{a: 3}
     5         console.log(this); //window
     6         return true;
     7     }
     8     function foo2() {
     9         console.log(this); //foo2类型的对象 不是foo2函数
    10 //        this.age = 30;
    11         return {a: 3};
    12     }
    13     var f1 = foo();
    14     console.log(f1); // true
    15 </script>
  • 相关阅读:
    viewController 不响应横竖屏转换相关消息的问题
    nsset排序
    内存相关
    技巧
    IOSTip
    iphone 资源
    IPhone 开发经验教训总结 仅供参考 (转载)
    WIN7控制面板假死
    Firefox添加web浏览端口:此地址使用了一个通常应该用于其他网页浏览的端口
    【WordPress】WXR version error when import into wordpress
  • 原文地址:https://www.cnblogs.com/2010master/p/5904087.html
Copyright © 2011-2022 走看看