美文网首页
JavaScript创建对象的方法

JavaScript创建对象的方法

作者: cycrab | 来源:发表于2018-05-16 20:19 被阅读0次

一、工厂模式

function person(name, age) {
    var a = new Object();
    a.name = name;
    a.age = age;
    a.sayName = function() {
        alert(this.name)
    }
    return a;
 }
person("zhangsan", 20);

工厂模式的出现解决了重复通过字面量创建的方式

二、构造函数

function Person(name, age) {
    this.name = name;
    this.age = age;
    this.sayName = function() {
        alert(this.name);
    }
}
var person1 = new Person("zhangsan", 20);

构造函数的出现简化工厂模式:
1.没有显示创建对象的过程;
2.没有return返回;
3.执行环境的this指向构造函数的实例,将属性和方法赋给this对象;

三、原型模式

       创建的函数都有prototype属性(原型),这个属性其实是一个指针,指向一个原型对象,当我们通过构造函数new一个实例对象的时候,其实这个新创建对象的方法和属性都可以从prototype获取,原型对象最大的好处就是共享。

function Person() {}
Person.prototype.name = "zhangsan";
Person.prototype.age = "20";
Person.prototype.sayName = function() {
    alert(this.name);
}

       优点:相比于构造函数和工厂模式,原型模式创建的属性和方法都是在原型对象上的,所以在new更多的实例对象,他的属性和方法都是一个,避免了构造函数实例对象时都重新创建一个方法;
       缺点:创建的属性和方法都是固定的,会带来不便;

四、组合方法

function Person(name, age) {
    this.name = name;
    this.age = age;
}
Person.prototype.sayName = function() {
    alert(this.name);
}

现阶段用的最多的方式

相关文章

  • Javascript全局属性和方法

    JavaScript 全局属性和方法 JavaScript 可用于创建Javascript对象。 CONTENT ...

  • 原型链与继承

    创建对象的方法 字面量创建 构造函数创建 Object.create() 原型 JavaScript 的所有对象中...

  • 链式操作

    对象字面量创建对象 构造函数创建对象 构造函数和原型一起创建对象 参考 JavaScript设计模式 --- 方法...

  • js对象的创建

    一、创建对象的方法 阅读犀牛书(《javascript权威指南》),书中将js创建对象的方法分为四种,对象字面量、...

  • 更多面向对象的JavaScript

    JavaScript有不止一种方法创建对象。 简单的对象创建 最简单的创建对象的方法是用一个新的Object开始,...

  • 面向对象的JavaScript

    JavaScript有不止一种方法创建对象。 简单的对象创建 最简单的创建对象的方法是用一个新的Object开始,...

  • 前端面试题目(二)

    javascript对象的几种创建方式 javascript继承的6种方法 详情:[JavaScript继承方式详...

  • JavaScript——创建对象的五种方式分析(工厂模式 原型

    首先明确JavaScript中的方法分为3类 ——类方法,对象方法,原型方法,创建对象关键在定义方法JavaScr...

  • JavaScript创建对象的方法

    一、工厂模式 工厂模式的出现解决了重复通过字面量创建的方式 二、构造函数 构造函数的出现简化工厂模式:1.没有显示...

  • JavaScript对象的创建方法

    大纲 前言1、简单方式创建对象的方法2、工厂模式创建对象3、构造函数模式创建对象4、原型模式创建对象5、组合使用构...

网友评论

      本文标题:JavaScript创建对象的方法

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