• JS 创建对象的7种方法(一)


    1.工厂模式(Factory)

     1 function createPerson(name, age, title){
     2     var o = new Object();
     3     o.name = name;
     4     o,age = age;
     5     o.title = title;
     6     o.sayName = function(){
     7         alert(this.name);
     8     }
     9     return o;
    10 }   
    11 
    12 var person1 = createPerson("Greg", 30, "Doctor");
    13 var person2 = createPerson("Lisa", 20, "Teacher");  

     工厂模式不能识别对象的类型。

    2.构造函数模式(Constructor)

     1 function Person(name, age, job){
     2     this.name = name;
     3     this.age = age;
     4     this.job = job;
     5     this.sayName = function(){
     6         alert(this.name);
     7     }
     8 }
     9 var person1 = new Person("Nicholas", 18, "Software Engineer");
    10 var person2 = new Person("Greg", 27, "Doctor");   

     按照惯例,构造函数始终都应以一个大写字母开头。

     要创建一个Person的新实例,必须使用new操作符。

     person1和person2分别保存着Person的一个不同的实例,这两个对象都有一个constructor属性,该属性指向Person:

    alert(person1.constructor == Person)  //true
    alert(person2.constructor == Person)  //true

     构造函数的问题: 构造函数中的所有方法都要在每个实例上重新创建一遍。

    alert(person1.sayName == person2.sayName);    //false
  • 相关阅读:
    4.3 DDL 数据类型
    Log4j的简要概述
    Eclipse/IDEA使用小技巧
    idea-生成key的Java代码
    Java8新特性--lamada详解
    JQuery基本语法
    EL与Velocity基本语法总结:
    RAF(RandomAccessFile)类
    Java篇-File类之常用操作
    Java篇-File类之创建删除
  • 原文地址:https://www.cnblogs.com/PrajnaParamita/p/5748842.html
Copyright © 2020-2023  润新知