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>
  • 相关阅读:
    使用片段嵌入进行文档搜索
    详解支持向量机
    使用NLP检测和对抗AI生成的假新闻
    Detectron2 API 之 config | 十五
    用Python可视化卷积神经网络
    六种用于文本分类的开源预训练模型
    解空间树(回溯算法,分支界限法)
    日记2
    C编程(C语言程序设计,大连理工大学MOOC)
    编程题(C/C++程序设计,同济大学mooc)
  • 原文地址:https://www.cnblogs.com/2010master/p/5904087.html
Copyright © 2011-2022 走看看