js 创建对象

1.工厂模式

        function createPerson(name, age, job) {
            var o = new Object();
            o.name = name;
            o.age = age;
            o.job = job;
            o.sayName = function () {
                alert(this.name);
            };
            return o;
        }
        var person1 = createPerson("Nicholas", 29, "Software Engineer");
        var person2 = createPerson("Greg", 62, "Doctor");

2.构造函数模式

        function Person(name, age, job) {
            this.name = name;
            this.age = age;
            this.job = job;
            this.sayName = function () {
                alert(this.name);
            };
        }
        var person1 = new Person("Nicholas", 29, "Software Engineer");
        var person2 = new Person("Greg", 62, "Doctor");
        //与工厂模式的不同点
        //1.没有显示创造对象
        //2.直接将属性和方法赋值给this
        //3.没有return语句
        //4.使用new创造对象

        //使用方式
        //1.当做构造函数使用
        var person = new Person("Nicholas", 29, "Software");
        person.sayName();//Nicholas

        //2.作为普通函数调用
        Person("Yellow", 27, "Doctor");
        window.sayName();//Doctor

        //3. 在另一个对象的作用域中调用
        var o = new Object();
        Person.call(o, "King", 25, "Nurse");
        o.sayName();//King

        //缺点:每个方法都要在每个实例上重新创建一遍

3.原型模式

        function Person() {
        }
        Person.prototype.name = "Yellowshorts";
        Person.prototype.age = 29;
        Person.prototype.job = "Software";
        Person.prototype.sayName = function () {
            alert(this.name);
        }
        var person1 = new Person();
        person1.sayName();//Yellowshorts

        var person2 = new Person();
        person2.sayName();//Yellowshorts

        alert(person1.sayName == person2.sayName);//true
时间: 2024-10-08 18:59:01

js 创建对象的相关文章

js创建对象

js创建对象的方法 1.使用new操作符后跟Object构造函数 var person = new Object(); person.name='Nick'; person.age = 29; 2.使用对象字面量表示法 var person = { name:'Nick', age : 29 }; 3.Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参

js创建对象的四种方式以及消耗时间比较

// Property-less object console.time('zoop1'); var zoop = (function (numObjects) { var pooz = Object.create(null); for(var i = 0; i< numObjects; i++) { pooz[i] = Object.create(null); } return pooz; })(1000000); console.timeEnd('zoop1'); // Using Obje

JS 创建对象(常见的几种方法)

贴个代码先: function O(user,pwd){ //use constructor this.user=user; this.pwd=pwd; this.get=get; return this; } function O2(user,pwd){ //use factory var obj=new Object(); obj.user=user; obj.pwd=pwd; obj.get=get; return obj; } function O3(){ //use prototype

Js创建对象的方法及原型链的分析

一.JS创建对象的几种方式 最近在看javascript高级程序设计,其中对对象的创建做了具体的阐述,可以进行总结一下. 第1种模式:工厂方式 var sayHello=function(){ return "Hello"; }; function student(){ var S1 = new Object(); Child.name="小明"; Child.age="18"; Child.sayHello=sayHello; return s

js 创建对象的多种方式

参考: javascript 高级程序设计第三版 工厂模式 12345678910 function (name) { var obj = new Object() obj.name = name obj.getName = function() { console.log(this.name) } return obj} var person1 = createPerson('jack') 缺点:对象无法识别,所有实例都指向同一个原型 构造函数模式 1234567 function Perso

浅谈 JS 创建对象的 8 种模式

Objct 模式 工厂模式 构造器模式 通过 Function 对象实现 prototype 模式 构造器与原型方式的混合模式 动态原型模式 混合工厂模式 1.Object 模式 var o1 = {};//字面量的表现形式 var o2 = new Object; var o3 = new Object(); var o4 = new Object(null); var o5 = new Object(undefined); var o6 = Object.create(Object.prot

js创建对象的多种方式及优缺点

在js中,如果你想输入一个的信息,例如姓名,性别,年龄等,如果你用值类型来存储的话,那么你就必须要声明很多个变量才行,变量声明的多了的话,就会造成变量污染.所以最好的方式就是存储到对象中.下面能我就给大家介绍几种创建对象的方式,并且给大家说一下他们的优缺点 方式一:对象字面量 var obj={ name:"赵云", type:"突进", skill:"抢人头" } 缺点:只能创建一次对象,复用性较差,如果要创建多个对象,代码冗余度太高 方式二:

JS创建对象的方式

第一种:基于Object对象 var person = new Object(); person.name = 'My Name'; person.age = 18; person.getName = function(){ return this.name; } 第二种:对象字面量方式(比较清楚的查找对象包含的属性及方法) var person = { name : 'My name', age : 18, getName : function(){ return this.name; } }

js创建对象的几种方式

 //1.使用js内置的对象String/Object/Function  var str = new String("js内置对象创建对象");  alert(str);//js内置对象创建对象  //2.使用Json  var books = {   book:[{name:'设计模式'},{name:'Java'},{name:'.Net'}],   author:[{name:'cy'},{name:'lyl'},{name:'cyl'}]  }  //json对象.属性(数组

JS创建对象的几种方式详解

Js是一门面向对象的语言,里面没有类的思想,所以直接是创建对象,下面介绍几种创建对象的方法: 1.对象字面量的方法:记住键值对格式:{key:value,key :value} 实例: Var obj={name:"演员",move:"长城",age:"18"} 如果想再创建一个新的对象,只能重复上面的操作,所以可操作性差,不能被重复使用,造成的直接后果就是代码的冗余度很高 2使用内置的构造函数 object Var obj=new Object