Constructor JavaScript构造器模式。

构造器模式 :

  Constructor模式中, 通过在构造器前面加 new 关键字, 告诉JavaScript 像使用构造器一样实例化一个新对象,并且对象成员由该函数定义。

  构造器内, 使用this 引用新创建的对象。

  JavaScript中有一个名为prototype的属性, 调用JavaScript构造器创建一个对象后,新对象就会具有构造器原型的所有属性。

  设置属性:

    1) 使用 .  2) 使用 []

    3) 使用Object.defineProperty

    4) 使用Object.defineProperties

var newObject = {};

//var newObject = new Object();

newObject.someKey = ‘Hello World!‘;
var key = newObject.someKey;

newObject[‘someKey‘] = ‘Hello World!!!‘;
Object.defineProperty(newObject, "someKey", {
    value : ‘for more control of the property\‘ behavior ‘,
    writable : true,
    enumerable : true,
    configurable : true
});

var defineProp = function (obj, key, value) {
    config.value = value;
    Object.defineProperty(obj, key, config);
}

var person = Object.create(null);

defineProp(person, ‘car‘, ‘delorean‘);
defineProp(person, ‘dateOfBirth‘, ‘1981‘);
defineProp(person, ‘hasBeard‘, false);

Object.defineProperties(newObject, {
    "someKey" : {
        "value" : "Hello World",
        writable : true
    },

    "anotherKey" : {
        value : "Foo bar",
        writable : false
    }
});
时间: 2024-10-10 23:21:07

Constructor JavaScript构造器模式。的相关文章

javascript构造器模式创建对象

工厂模式创建对象,虽然符合正常思维. 但由于对象在函数内部定义,故无法得知对象的类型(均为Object). 使用构造器模式,可以创建特定类型的函数实例: function Dog(age,size) { this.age=age; this.size=size; this.toAge=function(){ alert(this.age); }; } var dog1=new Dog(10,20); var dog2=new Dog(22,1); 此时,上述函数可以认为是对象的构造函数. 例子中

javascript设计模式-Constructor(构造器)模式

Constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法.Object构造器用于创建特定类型的对象–准备好对象以备使用,同事接收构造器可以使用参数,以在第一次创建对象时,设置成员属性和方法值. 对象创建 创新新对象,在javascript中通常有两种方法: 对象直面量方法 var newObj = {}; 构造器的简洁方法 var newObj = new Object(); 在Object构造器为特定的值创建对象封装,或者没有传递值时,它将创建一个肯那个对象并返

《JavaScript设计模式》深入学习 —— Constructor(构造器)模式

在经典的面向对象编程语言中,Constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法.在JavaScript中,几乎所有的东西都是对象,我们通常最感兴趣的就是Object构造器. Object构造器用于创建特定类型的对象--准备好对象以备使用,同时接收构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值. (1) 对象创建 ① var newObject = {}; ② var newObject = new Object(); 赋值: ECMASc

JavaScript设计模式一:工厂模式和构造器模式

转自:http://segmentfault.com/a/1190000002525792 什么是模式 前阵子准备期末考试,挺累也挺忙的,实在闲不得空来更新文章,今天和大家说说javascript中的设计模式. 首先呢,我们需要知道的是:模式是一种可复用的解决方案,而反模式呢就是针对某个问题的不良解决方案. js反模式常见例子 向setTimeout和setInterval传递字符串,而不是函数,这会触发eval()的内部使用. 在全局上下文中定义大量的变量污染全局命名空间 修改Object类的

【javascript设计模式】构造器模式、模块模式、单例模式

构造器模式(Constructor) 构造器模式是学习js最早接触的一种,实现主要如下: 1 function myObject(name){ 2 this.name = name; 3 } 4 5 myObect.propotype = function sayName(){ 6 alert(this.name); 7 } 使用的时候需要new一个对象. 1 var myObj = new myObject('hello'); 2 myObj.sayName(); 模块模式(Module) 模

javascript设计模式:构造器模式学习一

javascript 设计模式1.简介javascript是一种弱类型语言,不过类可以通过函数模拟出来最常见的实现方法如下:function Car(model){ this.model = model; this.color = "red"; this.year = "2012"; this.getInfo = function(){ return this.model + " " + this.year; }}接下来我们可以使用上边定义Car

js设计模式之Constructor(构造器)

说明:最近正在看Addy Osmani写的<JavaScript设计模式>这本书,故记一下读书笔记与大家分享.本文的内容基本上都出自那本书,如果觉得不错可以去买一本看看. 9.1Constructor(构造器)模式 Object构造器用于创建特定类型的对象——准备好对象以备使用,同时接受构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值. 9.1.1 创建对象 var newObject=new Object(); //var newObject={}; //1.直接设置属性

Javascript原型模式总结梳理

在大多数面向对象语言中,对象总是由类中实例化而来,类和对象的关系就像模具跟模件一样.Javascript中没有类的概念,就算ES6中引入的class也不过是一种语法糖,本质上还是利用原型实现.在原型编程语言中,类并不是必需的,对象不一定需要由类实例化而来,而是通过克隆另外一个对象来得到. 原型模式是用来创建对象的一种模式.在以类为中心的语言中,要创建一个对象首先要指定这个对象的类型,然后实例化一个对象.使用原型模式创建对象时不必关心对象的具体类型,而是找到一个对象,然后通过克隆来创建一个一模一样

javascript单体模式

单体模式的思想在于保证一个特定类仅有一个实例.这意味着当第二次使用同一个类创建的新对象的时候,应该得到与第一个所创建的对象完全相同. javacript中并没有类,因此对单体咬文嚼字的定义严格来说并没有意义.但是javascript具有new语法可使用构造函数来创建对象,而且有时需要使用这种语法的单体实现.这种思想在于当使用同一个构造函数以new操作符来创建多个对象时,应该仅获得指向完全相同的对象的新指针. 下面的代码显示了其预期行为: var nui = new Universe(); var