[Javascript学习记录]1.对象_创建对象的方法

原创 2015年11月21日 13:12:51
对象可以理解为一个名值对,其中的值可以是数据和函数。有多种方法可以创建对象,最简单的就是创建一个Object实例,再为其添加属性与方法。如同:
var person = new Object();
person.name = "zhangsan";
person.age = "19";
person.job = "student";
person.sayName = function(){
          alert(this.sayName);
};

用对象字面量创建时如下:

var person = {
name : "zhangsan",
age : 19,
job : "student",
sayName : function(){
          alert(this.sayName);
}
<p>};</p>

但是需要创建多个对象时,这种方法会显得过于繁琐,于是有了以下的方法:

1.工厂模式(但是Javascript中无法创建类):抽象了创建具体对象的过程,解决了创建多个相似对象的问题,但是却无法知道一个对象的类型

function createPerson(name,age,job){
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.sayName = function(){
alert(this.sayName);
};
return o;
}

var person1 = createPerson("zhangsan",19,"student");
var person2 = createPerson("lisi",29,"teacher");


2.构造函数模式:创建一个自定义的构造函数,并定义对象类型的属性与方法,创建实例时必须使用new操作符:

function Person(name,age,job){
   this.name = name;
   this.age = age;
   this.job = job;
   this.sayName = sayName;
}
function sayName(){
   alert(this.name);
}
var person1 = new Person("zhangsan",19,"student");
var person2 = new Person("lisi",29,"teacher");

3.构造函数模式与原型模式的混合:使用最广泛的方法,既可以保留实例的独立属性,又可以共享对方法的引用:

function Person(name,age,job){
     this.name = name;
     this.age = age;
     this.job = job;
     this.friends = ["wanger","zhangwu'];
}

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

var person1 = new Person("zhangsan",19,"student");
var person2 = new Person("lisi",29,"teacher");

person1.friends.push("chengyi");
alert (person1.friends); //"wanger,zhangwu,chengyi"
alert (person2.friends;) //"wanger,zhangwu"
alert (person1.sayName === person2.sayName);  //true
可以看到,对person1添加了新的朋友“chengyi”,但是不会对person2产生影响,而共享的“wanger,zhangwu”则都保留了下来。同时,也可以共享原型中的sayName方法。

此外还有动态原型模式,寄生构造函数模式,稳妥构造函数模式等。不作记录,需要时再查找。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JavaScript学习笔记之浅析几种创建对象的方法

在 JavaScript 中,创建对象有几种方法,我们平时最常用的是用 Object 构造函数和对象字面量: // Object 构造函数方法 var person = new...

JavaScript 创建对象的方法

本文简单练习了JavaScript面向对象语言创建对象的方法,更多的讲解请参照 工厂模式 构造函数 原型模式(一般写法) 原型模式(简单写法) 组合使用构造函数和原型模式 动态原型模式

JavaScript中创建对象方法总结

最简单的方式就是创建一个Object对象,并为其添加属性和方法。//示例代码 var person=new Object() person.name="yumi" person.age=18 pers...

Javascript创建对象的方法

Javascript创建对象的方法有很多,现在就来列举一下:  1. 使用Object构造函数来创建一个对象,下面代码创建了一个person对象,并用两种方式打印出了Name的属性值。 var per...

javascript:利用Object.create()方法创建对象

在javascript里面,我们知道有两种常见的创建对象的方法,一种是使用对象直接量: 对象直接量是由若干值/键对组成的映射表,值/键对用逗号”,“分隔开,整个部分用花括号”{}“括起来。 例如:...

JavaScript新创建对象的一些属性和方法

JavaScript创建对象 自带的一些属性和方法,认识他们,你会更深刻的认识js

javascript五种创建对象的方法

js_Object.html

JavaScript创建对象4种方法详解

1、工厂模式 弊端:没有解决对象的识别问题,即怎么知道一个对象的类型。 2、构造函数模式 与工厂模式相比: 1、没有显式的创建对象 2、直接将属性和方法赋给了...

JavaScript中创建对象的方法(下)

JavaScript语言中动态原型模式,寄生构造函数模式

JavaScript中创建对象的方法

大家都知道Javascript是一种基于对象的语言,可以说javascript里一切都是对象,那创建对象都有那些方法呢?1. 利用Object构造函数或对象字面量创建单个对象var student1=...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)