美文网首页前端开发那些事儿
对象的创建方式及new关键字

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

作者: 深度剖析JavaScript | 来源:发表于2020-08-04 21:35 被阅读0次

对象的创建方式

  1. 对象字面量
var obj={
 //code...
}
  1. 构造函数
  • 系统自带的构造函数;
    比如new Object()、 new Array()、 new Number()、 new Boolean()、 new String()、 new Date()...
  • 自定义的构造函数

构造函数与普通函数一模一样,为了好维护、好阅读,构造函数首字母大写。
有了构造函数,通过new关键字即可生产出对象

function Student(name,age){
  this.name = name;
  this.age = age;
}
var alice = new("Alice",18);

构造函数内部原理(前提加了new关键字)
(1)隐式创建this对象;在函数体最前面隐式的加上this = {}
(2)执行this.xxx = xxx;
(3)隐式的返回this对象。
备注:其实隐式创建的this对象并不是空对象,它里面上来就有一个属性__proto__值为Xxx.prototype,即:

{
  __proto__ : Student.prototype;
}

意思是,对象生成的时候,会存在一个属性__proto__指向自己的原型。当对象找对应的属性的值时,先看看自己有没有,没有的话就去沿着__proto__指向的原型中查找。所以alice.__proto__=== Student.prototype是绝对的。

其实还存在第三种创建对象的方式,通过Object.creat(原型),传入的可以是一个对象也可以是null,传入null时,创建的对象没有原型。

var obj = Object.creat(null);

相关文章

  • Java中创建对象的四种方式

    使用new关键字创建对象 使用new关键字创建对象是最常见的一种方式,但是使用new创建对象会增加耦合度。在开发中...

  • Kotlin中clone方法

    java中创建对象的方式:new关键字 clone 反射 反序列化 1 new 创建对象 执行语句var pers...

  • BigDecimal使用案例

    创建BigDecimal对象 创建BigDecimal对象常用的方式有2种: 不推荐使用new 关键字创建Bigd...

  • JS相关知识学习笔记(二)

    1、创建对象的三种方式 (1)字面量的形式创建对象 (2)使用new关键字创建对象 (3)使用构造函数的方式创建对...

  • 【前端 javascript 高级】 02 - 构造函数和原型+

    1. 构造函数和原型 1.1 对象的三种创建方式--复习 对象字面量的方式 : 使用 new 关键字的方式创建对象...

  • Java虚拟机-如何创建对象

    1 创建对象的方式 1.1 使用new关键字创建对象 1.2 使用Class类的newInstance方法(反射机...

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

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

  • 设计模式-工厂模式

    在Java语言中,我们通常由以下几种创建对象的方式:(1)使用new关键字直接创建对象(2)通过反射机制创建对象(...

  • (二)jvm-Java对象的创建,访问

    以Hotspot虚拟机为例,描述对象的 创建过程。 对象的创建 通过new关键字创建对象 虚拟机在遇到new关键字...

  • js创建对象

    常用的对象创建方式: 1.使用new关键字+构造函数Object来创建对象 这样的话就创建出了一个person对象...

网友评论

    本文标题:对象的创建方式及new关键字

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