第一种模式:工厂方式
var lev=function(){
return "啊打";
};
function Parent(){
var Child = new Object();
Child.name="李小龙";
Child.age="30";
Child.lev=lev;
return Child;
};
var x = Parent();
alert(x.name);
alert(x.lev());
说明:
1.在函数中定义对象,并定义对象的各种属性,,虽然属性可以为方法,但是建议将属性为方法的属性定义到函数之外,这样可以避免重复创建该方法
2.引用该对象的时候,这里使用的是 var x = Parent()而不是 var x = new Parent();因为后者会可能出现很多问题(前者也成为工厂经典方式,后者称之为混合工厂方式),不推荐使用new的方式使用该对象
3.在函数的最后返回该对象
4.不推荐使用这种方式创建对象,但应该了解
第二种模式:构造函数方式
var lev=function(){
return "啊打";
};
function Parent(){
this.name="李小龙";
this.age="30";
this.lev=lev;
};
var x =new Parent();
alert(x.name);
alert(x.lev());
说明:
1.与工厂方式相比,使用构造函数方式创建对象,无需再函数内部重建创建对象,而使用this指代,并而函数无需明确return
2.同工厂模式一样,虽然属性的值可以为方法,扔建议将该方法定义在函数之外
3..同样的,不推荐使用这种方式创建对象,但仍需要了解
第3种模式:原型模式
var lev=function(){
return "啊打";
};
function Parent(){
};
Parent.prototype.name="李小龙";
Parent.prototype.age="30";
Parent.prototype.lev=lev;
var x =new Parent();
alert(x.name);
alert(x.lev());
说明:
1.函数中不对属性进行定义
2.利用prototype属性对属性进行定义
3.同样的,不推荐使用这样方式创建对象
第四种模式:混合的构造函数,原型方式(推荐
)
function Parent(){
this.name="李小龙";
this.age=32;
};
Parent.prototype.lev=function(){
return this.name;
};;
var x =new Parent();
alert(x.lev());
说明:1.该模式是指混合搭配使用构造函数方式和原型方式
2.将所有属性不是方法的属性定义在函数中(构造函数方式)
将所有属性值为方法的属性利用prototype在函数之外定义(原型方式)
3.推荐使用这样方式创建对象,
这样做有好处和为什么不单独使用构造函数方式和原型方式,由于篇幅问题这里不予讨论
第五种模式:动态原型方式
function Parent(){
this.name="李小龙";
this.age=32;
;
if(typeof Parent._lev=="undefined"){
Parent.prototype.lev=function(){
return this.name;
}
Parent._lev=true;
}
};
var x =new Parent();
alert(x.lev());
说明:
1.动态原型方式可以理解为混合构造函数,原型方式的一个特例
2.该模式中,属性为方法的属性直接在函数中进行了定义,但是因为
if(typeof Parent._lev=="undefined"){
Parent._lev=true;}
从而保证创建该对象的实例时,属性的方法不会被重复创建
3.,推荐使用这种模式
分享到:
相关推荐
本文将详细介绍JavaScript创建对象的几种常见方式,以及它们的优缺点。 首先,我们来看**工厂模式**。这种方式通过一个函数来创建对象,它能创建具有相同属性和方法的对象。然而,工厂模式的缺点在于它没有明显的...
这些过于灵活的地方有时候确实很让人迷惑,那么今天我们就来梳理一下JS中常用的创建对象的几种方法吧。 前言 虽然使用 Object构造函数 或者使用 对象字面量 可以很方便的用来创建一个对象,但这种方式有一个明显的...
在讨论JavaScript中定义对象的几种方式之前,我们先理解一下JavaScript中的对象到底是什么。JavaScript是一种基于原型的编程语言,对象是其核心概念之一。对象可以被视为一个容器,存储各种键值对集合,键为属性名,...
以下,我们来详细探讨在JavaScript中创建对象的五种主要方式: 第一种,使用Object构造函数创建对象。这是一种非常基础的创建对象方式,通过new操作符加上Object构造函数来创建一个新的对象实例。例如,创建一个名...
标题所涉及的知识点是JavaScript中创建对象的多种方法以及实现对象继承的方式。在JavaScript中,创建对象和实现继承是构建面向对象程序的基础,也是JavaScript语言的核心特性之一。下面将详细介绍各种创建对象的方法...
综上所述,JavaScript提供了多种创建对象的方式,每种方式都有其特定的使用场景和优缺点。在实际开发中,需要根据具体需求和对性能、封装性等方面的考虑来选择合适的方式来创建对象。在日益复杂的应用开发中,组合...
本文将详细讲解几种常见的JS对象封装方式。 1. **常规封装**: 常规的JS对象封装通常涉及使用`function`关键字定义一个构造函数,然后在构造函数内部设置对象的属性。例如,创建一个`Person`对象,我们可以通过...
JavaScript中定义类或函数,主要有以下几种方式: 1. 工厂方式 工厂方式是JavaScript中创建对象的一种模式,它通过一个工厂函数来封装创建对象的代码。通过工厂函数,我们可以创建多个具有相同属性和方法的对象实例...
在JavaScript中,可以通过两种方式来创建JSON对象: 1. **使用构造函数**:通过`new JSON()`创建,但这种方式通常不建议使用。 2. **使用JSON.parse()和JSON.stringify()静态方法**: - `JSON.stringify(obj)`: 将...
在JavaScript中,最常见的创建对象的方式有几种,包括基本模式、工厂模式、构造函数模式、原型模式、以及它们的组合和变体。 ### 基本模式 基本模式是最简单的创建对象的方法,通过`new Object()`创建一个新的空...
稳妥构造函数模式是一种创建对象的安全方式,它没有公共属性,且方法不会引用 this。在稳妥对象中,除了使用方法传入参数之外,不会直接访问对象的属性。稳妥构造函数模式的优点在于,它创建的对象在没有公共的属性...
以上就是JavaScript中常用的几种排序方法。理解并熟练运用它们,能够帮助你在处理数据时更加游刃有余。在实际项目中,可以根据具体需求选择合适的方法,或者利用现有的库和工具提高代码的可读性和可维护性。
此外,还会讲解字面量语法和构造函数两种创建对象的方式,以及原型、原型链和`__proto__`属性的用法。 接下来,手册会深入讨论JavaScript内置对象,如Array、Date、Math、String等,这些对象提供了处理数组、日期、...
总结JavaScript创建对象的方式多种多样,每种方式都有其适用场景和优缺点。在实际开发中,根据项目需求和性能考虑,可以选择合适的对象创建策略。例如,如果需要创建大量具有相同属性和方法的对象,原型模式和组合...
除了上述提到的几种模式,JavaScript对象创建还有其他方式,如组合使用构造函数模式和原型模式、动态原型模式以及ES6中引入的class类语法等。这些方式和模式相互补充,为我们提供了灵活多样的对象创建方法,以便在...
而创建组件是React开发中的一项基础技能,以下将详细介绍创建React组件的几种方式,并分析各自的优缺点及适用场景。 1. 使用React.createClass创建组件 在早期React开发中,最常用的一种方式是利用React....
本文将详细阐述JavaScript中创建对象的几种常见方式。 1. **字面量(Literal)方式创建对象** 这是最简单直接的创建对象的方式。我们可以通过大括号 `{}` 来定义一个对象,并在其中定义属性和方法。例如: ```...