言归正传,本文讨论几种js创建对象的方法,先从最好理解的工厂模式开始:
function createPerson(name,age,job){ var o = {}; o.name = name; o.age = age; o.job = job; o.sayName = function(){ alert(this.name); }; return o; } var tanya = createPerson("tanya","30","female"); var ansel = createPerson("ansel","30","male"); tanya.sayName(); ansel.sayName();
function createPerson(name,age,job){ var o = { name : name, age : age, job : job, sayName : function(){ alert(this.name); } }; return o; } var tanya = createPerson("tanya","30","female"); var ansel = createPerson("ansel","30","male"); tanya.sayName(); ansel.sayName();
function Person(name,age,job){ this.name = name; this.age = age; this.job = job; this.sayName = function(){ alert(this.name); }; } var tanya = new Person("tanya","30","female"); var ansel = new Person("ansel","30","male"); tanya.sayName(); ansel.sayName();
function Person(name,age,job){ this.name = name; this.age = age; this.job = job; this.sayName = function(){ alert(this.name); }; } Person("tanya","30","female"); Person("ansel","30","male"); window.sayName(); window.sayName();
function Person(name,age,job){ this.name = name; this.age = age; this.job = job; this.sayName = function(){ alert(this.name); }; } var olivia = {}; Person.call(olivia,"tanya","30","female"); olivia.sayName(); var philip = {} Person.apply(philip,["ansel","30","male"]); philip.sayName();
function Person(name,age,job){ this.name = name; this.age = age; this.job = job; } Person.prototype.sayName= function(){ alert(this.name); }; var tanya = new Person("tanya","30","female"); var ansel = new Person("ansel","30","male"); tanya.sayName(); ansel.sayName();
function Person(name,age,job){ this.name = name; this.age = age; this.job = job; if (typeof sayName != "function" ){ Person.prototype.sayName= function(){ alert(this.name); }; } } var tanya = new Person("tanya","30","female"); var ansel = new Person("ansel","30","male"); ansel.sayName = function () { alert("Hi ansel, how hansome you are!"); } tanya.sayName(); ansel.sayName();
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
}
O3.prototype.user='abc';
O3.prototype.pwd='dis';
// O3.propotype.get='get';
//O3.prototype.get(){
//alert(this.pwd);
//}
function O4(user,pwd){
this.user=user;
this.pwd=pwd;
return this;
}
O4.prototype.get=function(){alert('123');}
//function get(){
//alert("This User:"+this.user);
// }
function test2(){
//var a=new O2('Us','Pw'); use factory & constructor
//var a=new O3(); //use prototype
//a.get();
var a=new O4('*U4','P4'); //混合
//a.user='Not ABC'; //set new property
//alert(a.user);
a.get();
}
相关推荐
### JavaScript面向对象之常见创建对象的方式 #### 引言 JavaScript 的灵活性体现在其创建对象的多种方式上。本文将详细介绍三种常见的对象创建方法:工厂模式、构造函数模式以及原型模式,并探讨它们各自的优缺点...
本文将深入探讨JavaScript中创建对象的几种常见方式以及对象方法。 首先,我们来看“工厂模式”。工厂模式是一种创建对象的抽象方式,通过一个函数来返回一个新的对象。例如: ```javascript function getObj(name...
本文将深入探讨JavaScript创建对象的8种常见方式,帮助你更好地理解和掌握这门动态类型的编程语言。 1. **字面量(Literal)方式** 这是最简单直接的创建对象的方式,通过大括号{}来定义一个对象,然后在内部用...
这篇博客“javascript创建对象的方式(二)”可能详细介绍了在JavaScript中除了最基础的字面量语法之外的其他创建对象的方法。这里我们将深入探讨几种常见的创建对象的方式。 1. **构造函数**: JavaScript中的...
本文将详细介绍几种常见的创建对象的方法,包括它们的特点和优缺点。 5.1 工厂方法 工厂方法是一种创建对象的模式,通过一个函数来创建具有特定属性和行为的对象。在JavaScript中,我们可以定义一个函数,如`...
这篇博文主要探讨了JavaScript创建对象的几种常见方式,这对于理解和掌握JavaScript面向对象编程至关重要。在实际开发中,了解并灵活运用这些方法能够提高代码的可读性和可维护性。下面,我们将详细讲解标题中提到的...
这些过于灵活的地方有时候确实很让人迷惑,那么今天我们就来梳理一下JS中常用的创建对象的几种方法吧。 前言 虽然使用 Object构造函数 或者使用 对象字面量 可以很方便的用来创建一个对象,但这种方式有一个明显的...
在WebGL领域,Three.js是一个非常流行的JavaScript库,它提供了丰富的3D图形渲染功能,使得在浏览器中构建复杂的3D场景变得...无论选择哪种方法,都需要对Three.js的基本概念、几何体、材质以及着色器有较深入的理解。
在JavaScript中,有几种常见的创建对象的方法,这里我们将详细探讨这些方法。 1. **对象字面量**:这是最简单且直观的创建对象的方式。通过大括号 `{}` 创建一个空对象,然后通过点`.`或方括号`[]`来添加属性和方法...
本文将详细解释JavaScript中对象创建的几种方法,并对每种方法的优缺点进行讨论。 首先,工厂模式是一种早期使用较为广泛的创建对象的方法。通过工厂模式,我们可以创建具有相同接口的多个对象。虽然工厂模式解决了...
在JavaScript中创建对象有多种方法,每种方法都有其特点和适用场景,下面将详细介绍六种常见的创建对象的方法。 一、基本模式 基本模式是一种非常简单的对象创建方式,直接通过对象字面量的方式创建对象。这种方式...
本文将详细介绍JavaScript创建对象的几种常见方式,以及它们的优缺点。 首先,我们来看**工厂模式**。这种方式通过一个函数来创建对象,它能创建具有相同属性和方法的对象。然而,工厂模式的缺点在于它没有明显的...
本文将详细对比JavaScript创建对象的五种常见方式:工厂模式、构造函数、原型方法、构造函数与原型方法的组合以及动态原型方法,分析它们的优缺点。 1. 工厂模式: 工厂模式是一种创建对象的方式,通过函数来创建...
以下是几种常见的创建对象的方法的详细介绍和分析: 1. 原始方法(字面量创建): 这是最简单也是最直接的方法,直接通过对象字面量来创建对象。例如: ```javascript var obj = { name: "Koji", age: 21, ...
本文实例讲述了js中的面向对象之对象常见创建方法。分享给大家供大家参考,具体如下: 创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1....
`Object.create()`方法用于创建一个新对象,使用现有对象作为新创建对象的原型。 ```javascript let personProto = { greet: function() { console.log('Hello, my name is ' + this.name); } }; let person = ...