美文网首页
简单了解:对象、构造函数、 new

简单了解:对象、构造函数、 new

作者: YOJIN | 来源:发表于2018-10-19 00:31 被阅读0次
  • 构造函数是什么?
    答:用于生成对象的函数。

  • 对象不是直接声明即可吗?为什么还要用构造函数生成对象,如var obj = {},生成一个空对象。
    答:这是简写,var obj = {} 等价 var obj = new Object(),本质上也是用构造函数生成的。

  • 那对象是什么?
    答:对象就是客观(真实世界)存在的人、事、物体等实体在计算机逻辑(虚拟世界)中的映射。

  • 对象有什么用?
    答:封装属性(property)和方法(method)。

  • 构造函数生成的对象与普通声明的对象有什么不同?
    答:本质上没有,都是对象。根据需求生成构造函数模板,该模板具有属性与方法,再通过该模板生成对象,所以这些对象具有 共同 的属性与方法,而普通生成的对象,也可自由封装属性与方法,若与构造函数生成相比,可简单理解为批量制造与单体制造。

    呃,还有一点较为关键的是 :
    构造函数生成的对象的__proto__指向构造函数的prototype,而普通声明的对象的 __proto__指向 Object 的prototype

  • 构造函数和普通函数有区别吗?
    答:本质上没有,都是函数,但作为区分,构造函数名字的第一个字母通常大写,其次是构造函数的使用有以下特点:
    1.函数体内部使用了this关键字,代表了所要生成的对象实例。
    2.生成对象的时候,必须使用new命令。

  function Pokemon(name){          // var Pokemon = function (name) { }
    this.name = name
  }

  var pikachu = new Pokemon('pikachu')
  • 为什么一定要使用newnew的作用是什么?
    答:  1.创建一个空对象,作为将要返回的对象实例。
             2.将这个空对象的原型,指向构造函数的prototype属性。
             3.将这个空对象赋值给函数内部的this关键字。
             4.开始执行构造函数内部的代码。

  • 不添加new会怎样?
    答:不添加new,在使用该函数时,无法将this指向一个空对象,此时this便指向window,函数内部构造的对象属性变量就成为全局变量,构造函数失败。没有newthis就不是构造函数

相关文章

  • 简单了解:对象、构造函数、 new

    构造函数是什么?答:用于生成对象的函数。 对象不是直接声明即可吗?为什么还要用构造函数生成对象,如var obj ...

  • 对象的创建方式及new关键字

    对象的创建方式 对象字面量 构造函数 系统自带的构造函数;比如new Object()、 new Array()、...

  • 创建对象的方法

    对象字面量 new Object()创建对象 工厂函数创建对象 自定义构造函数 属性和方法 new关键字 构造函数...

  • js面向对象之 创建对象的方式

    创建对象的几种方式: 01字面量 02内置构造函数new Object()|new Date() 03简单工厂函数...

  • JAVA clone与new之间比较

    clone不调用构造函数,new调用构造函数; clone通过深拷贝或浅拷贝复制原对象属性值,new在执行构造函数...

  • 构造函数和原型对象

    一、构造函数 构造函数:定义一类相同结构的对象 构造函数就是用 new 创建对象是调用的函数。构造函数的区别就是函...

  • js Date对象的方法(date.now和date.parse

    目录 介绍:阐述 Date 对象。 构造函数:介绍 Date 对象的构造函数new Date()几种方式。 实例方...

  • 一图理清JS原型链

    所有对象都是通过“new 函数()”创建的,该函数为构造函数。 函数也是一个对象,它通过“new Function...

  • 自由存储方式创建对象

    用new创建单个对象时,会根据参数调用相应的构造函数。用new创建对象数组时,会调用默认构造函数。用delete删...

  • 箭头函数和普通函数的区别

    箭头函数作为匿名函数,是不能作为构造函数的,不能使用new 1.普通函数的构造对象 2.箭头函数的构造对象 箭头函...

网友评论

      本文标题:简单了解:对象、构造函数、 new

      本文链接:https://www.haomeiwen.com/subject/vusezftx.html