javascript——工厂模式创建对象

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>js01_hello</title>
	<meta name="author" content="Administrator" />
	<script type="text/javascript">
	/**
	 * 通过工厂的方式来创建Person对象
	 * 在createPerson中创建一个对象
	 * 然后为这个对象设置相应的属性和方法
	 * 之后返回这个对象
	 */
	function createPerson(name,age) {
		var o = new Object();
		o.name = name;
		o.age = age;
		o.say = function() {
			alert(this.name+","+this.age);
		}
		return o;
	}
	/**
	 * 使用工厂的方式,虽然有效的解决了类的问题,但是依然存在另外一个问题
	 * 我们无法检测对象p1和p2的数据类型
	 */
	var p1 = createPerson("Leon",22);
	var p2 = createPerson("Ada",33);
	p1.say();
	p2.say();

	</script>
</head>
<body>
</body>
</html>

  

时间: 2024-10-10 15:58:05

javascript——工厂模式创建对象的相关文章

javascript工厂模式

工厂模式 设计工厂模式的目的是为了创建对象.它通常在类或者类的静态方法实现,具有下列目标: 1.在创建相似对象是执行重复操作 2.在编译时不知道具体类型(类)的情况下,为工厂客户提供一种创建对象的接口. 通过工厂方法(或类)创建的对象在设计上都继承了相同的父对象这个思想,它们都是实现专门功能的特定子类.有时候公共父类是一个包含了工厂方法的同一个类. 代码: //父构造函数 function CarMaker(){}; CarMaker.prototype.drive = function(){

javascript构造器模式创建对象

工厂模式创建对象,虽然符合正常思维. 但由于对象在函数内部定义,故无法得知对象的类型(均为Object). 使用构造器模式,可以创建特定类型的函数实例: function Dog(age,size) { this.age=age; this.size=size; this.toAge=function(){ alert(this.age); }; } var dog1=new Dog(10,20); var dog2=new Dog(22,1); 此时,上述函数可以认为是对象的构造函数. 例子中

javascript工厂模式和构造函数模式创建对象

一.工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程(本书后面还将讨论其他设计模式及其在JavaScript 中的实现).考虑到在ECMAScript 中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节,如下面的例子所示. function createPerson(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.s

javascript工厂模式、单例模式

//工厂模式 function createObject(name,age){ var obj = new Object(); obj.name = name; obj.age = age; obj.fun = function(){ return this.name + this.age +"一个方法"; } return obj; } var box1 = createObject("box1",1); var box2 = createObject("

javascript 工厂模式

声明一个js对象, var box1=new Object();box2.name1='123';box2.age=100;box2.run=function(){ return this.box2.name1; } //再次声明一个对象 var box2=new Object();box.name1='Lee';box.age=100;box.run=function(){return this.name;+'运行中'; } //为了解决多个类似声明的问题我们可以用一种叫做工厂模式的方法,//

JS 构造函数和工厂模式创建对象的方式

工厂模式 1 function createPerson (name,age,job) { 2 var o=new Object(); 3 o.name=name; 4 o.age=age; 5 o.job=job; 6 o.sayName=function(){ 7 alert(this.name); 8 }; 9 return o; 10 }; 11 var person1=createPerson("Terry",24,"Software Engineer")

javascript工厂模式和构造方法

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getS

javascript组合模式创建对象

<script>     function Person(name, age) {         this.name = name;         this.age = age;         this.family = ["father" , "mather" , "sister"] ;     }     Person.prototype = {             constructor: Person,       

JavaScript面向对象OOM 2(JavaScript 创建对象的工厂模式和构造函数模式)

??在创建对象的时候,使用对象字面量和 new Object() 构造函数的方式创建一个对象是最简单最方便的方式.但是凡是处于初级阶段的事物都会不可避免的存在一个问题,没有普适性,意思就是说我要为世界上(程序中)的所有使用到的对象都使用一遍 var xxx = {} ,对于'懒惰'的程序员来讲是不可以接受的.即便你能接受这种创建的方式,也无法保证将所有对象归类这一哲学问题. ??由此,优秀的程序员们利用现有的规则,创造出了一种种优秀的解决方案 -- 这些优秀的解决方案统称为设计模式. ??在 J