美文网首页
对象的创建

对象的创建

作者: 灯火葳蕤234 | 来源:发表于2019-04-15 13:37 被阅读0次

JavaScript中的对象实际上是键值对的集合,如何去创建一个对象呢?有以下方法:

字面量创建(Object Literal)
const circle = {
  radius: 1,
  location: {
    x: 1,
    y: 1
  },
  draw: function() {
    console.log('draw');
  }
};

当对象中有一个或多个方法,即对象具有行为性时,使用创建对象语法来创建多个对象是不妥的,解决方法是使用工厂函数或者构造函数(它们都是JavaScript的内建函数)。

工厂函数(Factory)
function createCircle(radius) { 
  return {
    radius, //键值同名时,可以去除冗余代码比方说值(ES6新特性)
    draw: function() {
      console.log('draw');
    }
  };
}
const circle = createCircle(1);
构造函数(Constructor)
function Circle(radius) {
  this.radius = radius;
  this.draw = function() {
    console.log('draw');
  }
}
const another = new Circle(1);

我们用new关键字调用Circle函数,并且传入1作为参数,就创建了一个新的对象。
当我们使用new关键字的时候,发生了什么呢?
首先,new会创建一个空的对象{}
然后,它会设置this指向这个对象,
最后,从构造函数中返回这个对象(尽管构造函数中并没有return语句)

相关文章

  • javascript面向对象解析(一)

    创建对象的方式 json对象方式创建对象 Object方式 声明构造函数方式,创建对象 -- 这种创建对象的方式用...

  • JS笔记-006-JS对象-数字-字符串-日期-数组-逻辑

    JS对象 创建 JavaScript 对象 通过 JavaScript,您能够定义并创建自己的对象。 创建新对象有...

  • 创建对象只是开辟个堆内存那么简单吗?

    java对象 对象的创建 java的对象是在运行时创建的,创建对象的的触发条件有以下几种: 用new语句创建对象,...

  • 对象的创建

    对象的创建 虚拟机遇到一条new指令时,首先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检...

  • 对象的创建

    一、创建过程 二、重点说明 1.在Java堆中为对象分配内存空间 分配方法 有两种主流方法:指针碰撞;空闲列表。 ...

  • 对象的创建

    创建对象1.工厂模式 2.构造函数模式 3.原型模式 4.组合使用原型模式和构造函数模式 (常见的方式) 5.动态...

  • 对象的创建

    工厂模式 优点:避免创建多个对象时的重复代码问题 缺点:无法解决对象识别问题(不知道一个对象的类型) 构造函数模式...

  • 对象的创建

    1.给对象分配内存 两种方式:1.指针碰撞 2.空闲列表 2.线程安全性问题 3.初始化对象 4.执行构造方法

  • 对象的创建

    1.OC对象是什么? 从源码分析 objc.h objc-private.h: 其中uintptr_t是一个uns...

  • 对象的创建

    JavaScript中的对象实际上是键值对的集合,如何去创建一个对象呢?有以下方法: 字面量创建(Object L...

网友评论

      本文标题:对象的创建

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