工厂模式和构造函数模式

<!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>
<script type="text/javascript">
// function createObject(name,age){
// var obj=new Object();
// obj.name=name;
// obj.age=age;
// obj.run=function(){
// return this.name+this.age+‘运行中‘;
// }
// return obj;
// }

// var box1=createObject(‘jack‘,100);
// var box2=createObject(‘lll‘,200);
// alert(box1.run());
// alert(box2.run());

function Box(name,age){
this.name=name;
this.age=age;
this.run=function(){
return this.name+this.age+‘运行中‘;
};
}

var box=new Box(‘lll‘,100);
var box1=new Box(‘jack‘,200);
alert(box.run());
alert(box1.run());

var o=new Object();
Box.call(o,‘yyy‘,300);
alert(o.run());

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

时间: 2024-12-18 20:07:20

工厂模式和构造函数模式的相关文章

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

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

面向对象JS基础讲解,工厂模式、构造函数模式、原型模式、混合模式、动态原型模式

什么是面向对象?面向对象是一种思想!(废话). 面向对象可以把程序中的关键模块都视为对象,而模块拥有属性及方法.这样我们如果把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作.接下来将为大家讲解在JS中面向对象的实现. 工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,而由于在ECMAScript中无法创建类,因此用函数封装以特定接口创建对象.其实现方法非常简单,也就是在函数内创建一个对象,给对象赋予属性及方法再将对象返回即可. function createBlog(

JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模)

什么是面向对象?面向对象是一种思想!(废话). 面向对象可以把程序中的关键模块都视为对象,而模块拥有属性及方法.这样我们如果把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作.接下来将为大家讲解在JS中面向对象的实现.   工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,而由于在ECMAScript中无法创建类,因此用函数封装以特定接口创建对象.其实现方法非常简单,也就是在函数内创建一个对象,给对象赋予属性及方法再将对象返回即可. ? 1 2 3 4 5 6 7 8

厘清面向对象四种模式:工厂模式、构造函数模式、原型模式、混合模式

面向对象是一种方法,用来封装功能,方便日后使用,避免大量的重复工作 一.工厂模式 (一)实现方法:在函数内创建一个对象并给对象赋予属性及方法,最终将对象返回. 1 function cPerson(name,sex,age){ 2  var o = new Object(); 3  o.name = name; 4  o.sex = sex; 5  o.age = age; 6  o.show = function(){ 7  console.log(this.name,this.age,thi

js - 创建对象的几种方式(工厂模式、构造函数模式、原型模式)

原文引用https://www.dazhuanlan.com/2019/08/26/5d62f8b594f10/ 工厂模式 做法:内部创建一个对象,并未对象属性赋值并且返回 缺点:解决创建多个相识对象的问题,但不能识别创建的对象的类型 构造函数模式 做法:直接将属性和方法赋值给 this 对象,没有 return 语句 缺点:对象不是共用方法和属性,每 new 一次对象就要创建一个内存,超出性能消耗 原型模式 做法:通过 prototype 为对象添加属性 缺点:每个实例都共享属性方法,实例中修

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

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

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

Javascript之创建对象(工厂模式与构造函数模式)

虽然Object构造函数或对象字面量都可以创建单个对象,但是这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量重复的代码.为了解决这个问题,就可以使用工厂模式来创建对象. 1.工厂模式 在ECMAScript中是无法创建类的,开发人员就发明了一种函数,用函数来封装特定接口创建对象的细节. function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = j

简单工厂模式,构造函数模式,原型模式相关

1.简单工厂模式 :无法确定对象类型 2.构造函数模式 :私有话的问题 3.原型模式 // 1简单工厂模式 function CreatPerson(name,age,sex){ var obj=new Object(); obj.name=name; obj.age=age; obj.sex=sex; obj.sayName=function(){ console.log("姓名:"+this.name+" 年龄:"+this.age+" 性别:&quo