构造函数模式

1.创建特定类型的对象

2.js开发尽量用单引号

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			var AA = {
				Constractor: function(huawen) {
					//先自己实例化对象 ,function中的函数指向的是function,不是外层字典。
					if(!(this instanceof AA.Constractor)){
						return new AA.Constractor();
					}
					var me = this;
					me.huawen = "无";
					if (huawen != undefined || huawen != null)
						me.huawen = huawen;
					me.suo = "小锁";
					me.create = function() {
						return "花纹:" + me.huawen + "锁" + me.suo;
					}
				}
			}
			console.log(AA);
			var p =  AA.Constractor("有花纹");
			alert(p.create());
		</script>
	</head>

	<body>
	</body>

</html>

  

 

时间: 2024-10-12 23:59:48

构造函数模式的相关文章

组合使用构造函数模式和原型模式和寄生构造函数

chuangjian自定义类型的最常见方式就是组合使用构造函数模式与原型模式,构造函数模式用于定义实力属性,原型模式定义方法和共享的属性. 寄生构造函数: 原来的写法 var array1 = ['1','2'];var array2 = ['1','2','3'];array1.a = function () { alert(this.length);};array1.a();array2.a = function () { alert(this.length);};array2.a(); 与

js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)

1.工厂模式 function a(name){ var b = new object(); b.name = name; b.say = function(){ alert(this.name); } return b } 函数内部产生b对象并返回. 2.构造函数模式 function Person(name, url) { //注意构造函数名第一个字母大写 this.name = name; this.url = url; this.alertUrl = alertUrl; } functi

6.2.2 构造函数模式

ECMAScript中的构造函数可用来创建特定类型的对象.像Object和Array这样的原生构造函数,在运行时会自动出现在执行环境中.此外,也可以创建自定义的构造函数,从而定义自定义对此昂类型的属性和方法.例如: function Person(name,age,job){ this.name=name; this.age=age; this.job=job; this.sayName=function(){ alert(this.name); } } var person1=new Pers

JavaScript 创建对象之单例、工厂、构造函数模式

01单例模式 首先看一个问题,我们要在程序中描述两个人,这两个人都有姓名和年龄,可能刚刚开始学习js的时候会写成这样: 1 var name1 = 'iceman'; 2 var age1 = 25; 3 4 var name2 = 'mengzhe'; 5 var age2 = 26; 以上的写法的确是描述两个人,每个人都有姓名和年龄,但是每个人的姓名和年龄并没有放在一起,也就是说每个人的年龄和姓名并没有对应起来.这时候我们就引出对象的概念:把描述同一个事物(同一个对象)的属性和方法放在同一个

Javascript 构造函数模式、原型模式

前两天写完组合继承,打算总结一下原型继承的,不过今天看了一下工厂模式.构造函数模式和原型模式,觉得有必要总结一下以加深印象. ——————————————————————————————————————————————————————————————————————————————————碎碎念. 1.工厂模式 <Javascript 高级程序设计(第3版)> 用了寥寥十多行介绍了工厂模式.我找了一些相关资料,想确定一下这种模式的具体适用场景和优势.按照资料中的说法,是考虑到 ECMAScri

JS创建对象模式及其对象原型链探究(五):组合使用构造函数模式和原型模式

组合使用构造函数模式和原型模式 构造函数模式用于定义实例属性,原型模式用于定义方法和共享的属性. 创建自定义类型的最常见方式,就是组合使用构造函数模式和原型模式. 1.创建对象 // 组合使用构造函数模式和原型模式 function Person(name, age, job){ this.name = name; this.age = age; this.job = job; this.friend = ["Jenny", "Court"]; } Person.p

工厂模式和构造函数模式

<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>工厂模式和构造函数模式</title></head><body&g

JavaScript构造函数+原型创建对象,原型链+借用构造函数模式继承父类练习

虽然经常说是做前端开发的,但常常使用的技术反而是JQuery比较多一点.在JavaScript的使用上相对而言少些.尤其是在创建对象使用原型链继承上面,在项目开发中很少用到.所以今天做个demo练习一下,以后忘记了也可以照搬一下. 说明一下: 1. Demo中使用的是构造函数+原型模式创建的对象.构造函数中存储对象实例使用的属性,原型模式增加实例使用的方法. 2. Demo中的继承分为两个方面.一个是属性继承,使用的是借用构造函数模式 call()方法.另一个是方法继承,这个就是使用原型方式继承

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

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

浅议javascript的工厂模式,构造函数模式及原型模式

通常来讲我们一般这样创建对象: (1)  var jxj=new Object(); jxj.name="jxj"; jxj.sayHi=function(){console.log("O(∩_∩)O哈哈哈~")}: (2)  var   jxj={name:"jxj",age:"24",.....} 这两种方式在一些场景简单,规模小的项目中使用,我们还可以忍受:但这种方式在可拓展性,可维护性等等方面有很多的问题,于是,就出现