`
chengxianju
  • 浏览: 256500 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

js创建对象的几种常用方式(转)

阅读更多

第一种模式:工厂方式

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.,推荐使用这种模式

分享到:
评论

相关推荐

    js创建对象的几种常用方式小结(推荐)

    本文将详细介绍JavaScript创建对象的几种常见方式,以及它们的优缺点。 首先,我们来看**工厂模式**。这种方式通过一个函数来创建对象,它能创建具有相同属性和方法的对象。然而,工厂模式的缺点在于它没有明显的...

    js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)

    这些过于灵活的地方有时候确实很让人迷惑,那么今天我们就来梳理一下JS中常用的创建对象的几种方法吧。 前言 虽然使用 Object构造函数 或者使用 对象字面量 可以很方便的用来创建一个对象,但这种方式有一个明显的...

    JAVASCRIPT中定义对象的几种方式.pdf

    在讨论JavaScript中定义对象的几种方式之前,我们先理解一下JavaScript中的对象到底是什么。JavaScript是一种基于原型的编程语言,对象是其核心概念之一。对象可以被视为一个容器,存储各种键值对集合,键为属性名,...

    JS对象创建的几种方式整理

    以下,我们来详细探讨在JavaScript中创建对象的五种主要方式: 第一种,使用Object构造函数创建对象。这是一种非常基础的创建对象方式,通过new操作符加上Object构造函数来创建一个新的对象实例。例如,创建一个名...

    详解js创建对象的几种方法及继承

    标题所涉及的知识点是JavaScript中创建对象的多种方法以及实现对象继承的方式。在JavaScript中,创建对象和实现继承是构建面向对象程序的基础,也是JavaScript语言的核心特性之一。下面将详细介绍各种创建对象的方法...

    详细分析Javascript中创建对象的四种方式

    综上所述,JavaScript提供了多种创建对象的方式,每种方式都有其特定的使用场景和优缺点。在实际开发中,需要根据具体需求和对性能、封装性等方面的考虑来选择合适的方式来创建对象。在日益复杂的应用开发中,组合...

    详解JS对象封装的常用方式

    本文将详细讲解几种常见的JS对象封装方式。 1. **常规封装**: 常规的JS对象封装通常涉及使用`function`关键字定义一个构造函数,然后在构造函数内部设置对象的属性。例如,创建一个`Person`对象,我们可以通过...

    JavaScript定义类或函数的几种方式小结

    JavaScript中定义类或函数,主要有以下几种方式: 1. 工厂方式 工厂方式是JavaScript中创建对象的一种模式,它通过一个工厂函数来封装创建对象的代码。通过工厂函数,我们可以创建多个具有相同属性和方法的对象实例...

    JS中Json对象

    在JavaScript中,可以通过两种方式来创建JSON对象: 1. **使用构造函数**:通过`new JSON()`创建,但这种方式通常不建议使用。 2. **使用JSON.parse()和JSON.stringify()静态方法**: - `JSON.stringify(obj)`: 将...

    JS面向对象之最常用创建对象的方式

    在JavaScript中,最常见的创建对象的方式有几种,包括基本模式、工厂模式、构造函数模式、原型模式、以及它们的组合和变体。 ### 基本模式 基本模式是最简单的创建对象的方法,通过`new Object()`创建一个新的空...

    javascript创建对象的几种模式介绍

    稳妥构造函数模式是一种创建对象的安全方式,它没有公共属性,且方法不会引用 this。在稳妥对象中,除了使用方法传入参数之外,不会直接访问对象的属性。稳妥构造函数模式的优点在于,它创建的对象在没有公共的属性...

    javascript 的几种排序方法

    以上就是JavaScript中常用的几种排序方法。理解并熟练运用它们,能够帮助你在处理数据时更加游刃有余。在实际项目中,可以根据具体需求选择合适的方法,或者利用现有的库和工具提高代码的可读性和可维护性。

    javascript对象参考手册

    此外,还会讲解字面量语法和构造函数两种创建对象的方式,以及原型、原型链和`__proto__`属性的用法。 接下来,手册会深入讨论JavaScript内置对象,如Array、Date、Math、String等,这些对象提供了处理数组、日期、...

    JavaScript创建对象的七种方式(推荐)

    总结JavaScript创建对象的方式多种多样,每种方式都有其适用场景和优缺点。在实际开发中,根据项目需求和性能考虑,可以选择合适的对象创建策略。例如,如果需要创建大量具有相同属性和方法的对象,原型模式和组合...

    基于JS对象创建常用方式及原理分析

    除了上述提到的几种模式,JavaScript对象创建还有其他方式,如组合使用构造函数模式和原型模式、动态原型模式以及ES6中引入的class类语法等。这些方式和模式相互补充,为我们提供了灵活多样的对象创建方法,以便在...

    简谈创建React Component的几种方式

    而创建组件是React开发中的一项基础技能,以下将详细介绍创建React组件的几种方式,并分析各自的优缺点及适用场景。 1. 使用React.createClass创建组件 在早期React开发中,最常用的一种方式是利用React....

    js创建对象的方式总结

    本文将详细阐述JavaScript中创建对象的几种常见方式。 1. **字面量(Literal)方式创建对象** 这是最简单直接的创建对象的方式。我们可以通过大括号 `{}` 来定义一个对象,并在其中定义属性和方法。例如: ```...

Global site tag (gtag.js) - Google Analytics