首页 热点资讯 义务教育 高等教育 出国留学 考研考公

JS对象创建常用方式有哪些

发布网友 发布时间:2022-04-20 02:58

我来回答

2个回答

懂视网 时间:2022-04-29 10:19

一、字面量方式

var obj = {
 name: 'mm',
 age: 18,
 sayName: function() { 
 console.log(this.name);
 }
}

问题:创建多个对象时会造成代码冗余,很占内存空间。

二、工厂模式

02e4cfb45e5b62d72c7f40b7ab6e247.png

问题:虽然解决了对象字面量创造对象冗余的问题,但是存在对象识别的问题,不能反映它们之间的内在关系。

三、构造函数模式

c2fbbdc5cf087b952f3ab7f66f7a5.png

问题:解决了工厂模式的问题,但是相同方法重复创建就浪费了内存空间。

四、原型模式

2e0a2decf6815b3b72f294b00ab194d.png

问题:共享方法,解决了构造函数的问题。但是当前实例的引用类型的属性被所有实例共享,一个变所有变。

五、组合模式(构造函数+原型模式)

13c345862861f48cb18cc7749db978f.png

这是常用的创建方式。

通过构造函数模式定义实例属性,通过原型模式定义方法和共享的属性。

推荐教程:js入门教程

热心网友 时间:2022-04-29 07:27

1.对象字面量创建对象
var obj = { a:1,b:2 };
注意:对象字面量是一个表达式,这种表达式每次运算都会创建并初始化一个新对象,并计算这个新对象的每个属性值。所以如果在循环体内使用对象字面量,每次循环时都会创建新对象。
2.通过new运算符创建对象
var obj = new Object(); //创建空对象 var ary = new Array(); //创建空的数组对象
注意:new运算符后面跟的是一个函数调用,这个函数被称为构造函数。js中原始类型都包含内置的构造函数,也可以自己定义构造函数。
3.通过立即执行函数创建对象
var obj = (function(){ return {x:1,y:2};}());
注意:在立即执行函数内部一定要有return语句,return出的内容就是待创建的对象。
4.通过Object.create()创建对象
var obj = Object.create({x:1,y:2});
注意:Object.create()是一个静态函数,传入原型对象就可以创建继承此原型对象的对象,例如上面的例子中obj对象继承了x,y属性。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com