• 构造函数与new关键字


     
    // function f1(){
    // console.log(this)
    // }
    // f1() //window

    // f2 = new f1; //f1{}
    // f1() //window
    构造函数
    构造函数本事是普通函数,当我们用new关键字调用时,能实现某类功能,我们才把它称呼为构造函数。
    所以构造函数的核心就是关键字new .
    构造函数(new)
     
    当任意一个普通函数用于创建一类对象,并且通过new操作符来调用时,它就可以作为构造函数
     
    作用:构造新对象,设置对象的属性和方法.(构造函数里面写一堆this的作用)
     
    ECMAScript提供了多个内置构造函数,如 Object、Array、String、Boolean、Number、Date…等等。
    var obj = new Object();
    var arr = new Array();
     
     
     

    用new调用函数的执行过程
    new

    * 一元运算符,后面只能跟函数,用来调用函数

    *

    * 调用函数的方式

    * 1、new 函数名 ( 没有参数的情况下用这种方式 )


    * 2、new 函数名()

    用new调用函数的执行过程

    简单来说,new调用一个函数,执行了该函数,然后返回一个对象(用变量接收这个对象) 。
    function f1(){
    console.log(this)
    }
    f1() //window(普通函数)

    new f1; //f1{} 和new f1()效果一样 由new运行,称为构造函数,改变了 this指向
    f1() //window ,没用new运行,还是普通函数

    * 1、自动创建一个空对象

    * 2、把函数内部的this指向创建的这个对象(也就是构造函数的作用,构造新对象,设置对象的属性和方法构造函数里面写那么多this的作用))

    * 3、在函数执行完成以后自动返回创建的那个对象,即使函数里面没有return
    函数里有return

    (1、return的是对象

    返回这个对象

    2、return的是非对象

    返回自动创建的那个对象 )
    * 注意:

    * 1、用new调用的函数,得到的永远是一个对象,不管函数有没有返回值

    * 2、使用new调用函数,这个函数就是一个用来创建对象的函数(构造函数)

    */

    构造函数的调用其中有几步是:

    1.创建一个新对象;
    2.将构造函数的作用域赋给新对象(因此this就指向了这个新对象);
    3.执行构造函数中的代码;
    4.返回新对象;

  • 相关阅读:
    elasticsearch 基础
    docker 安装ElasticSearch的中文分词器IK
    Netty的编解码,粘包拆包,心跳检测机制
    Spring IOC 常用的注解
    @JsonView的使用
    lombok的使用以及其中的坑
    Zuul的高级使用
    SpringBoot 整合 ActiveMq
    转:Maven <resource>标签
    码农经常读错的单词
  • 原文地址:https://www.cnblogs.com/shenlan88/p/11072740.html
Copyright © 2020-2023  润新知