js工厂方式和构造函数

工厂方式

//工厂方式 : 封装函数

function createPerson(name){

    //1.原料
    var obj = new Object();
    //2.加工
    obj.name = name;
    obj.showName = function(){
        alert( this.name );
    };
    //3.出场
    return obj;

}

var p1 = createPerson(‘小明‘);
p1.showName();
var p2 = createPerson(‘小强‘);
p2.showName();

利用new简化成构造函数

//当new去调用一个函数 : 这个时候函数中的this就是创建出来的对象,而且函数的的返回值直接就是this啦(隐式返回)

//new后面调用的函数 : 叫做构造函数

function CreatePerson(name){

    this.name = name;
    this.showName = function(){
        alert( this.name );
    };

}

var p1 = new CreatePerson(‘小明‘);
//p1.showName();
var p2 = new CreatePerson(‘小强‘);
//p2.showName();

alert( p1.showName == p2.showName );  //false

var arr = new Array();
var date = new Date();
时间: 2024-08-04 09:10:07

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

javascript 对象 工厂方式和构造函数

1.一个简单的代码 function s(names){this.name=names;this.showname=functoin(){ alert(this.name);}} //工厂方式 new s("张三").showname(); // 函数中 'this' 的理解 2. 面向对象的定义.特点. 对象原型prototype

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

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

js面向对象小结(工厂模式,构造函数,原型方法,继承)

最近过了一遍尼古拉斯泽卡斯的高级程序设计第三版(红皮书)第六章:面向对象程序设计,现在把总结出来的东西和大家分享一下. 主要内容如下: 1.工厂模式 2.构造函数模式 3.原型模式 4.继承 一.工厂模式 工厂模式中的函数中会创建一个对象,最后return这个对象,通过每次调用时传入的参数不同来解决创建多个相似对象的问题. // 工厂模式 function creatPerson(name, age, job) { var o = {}; o.name = name; o.age = age;

js面向对象学习笔记(二):工厂方式:封装函数

//工厂方式:封装函数function test(name) { var obj = new Object(); obj.name = name; obj.sayName = function () { alert(this.name); }; //抛出 return obj;}var p1 = test('小明');p1.sayName();var p2 = test('小王');p2.sayName(); //优化//创建对象要注意首字母大写//当new去调用一个函数:这个时候函数中的thi

js面向对象程序设计之构造函数

再上一篇的开头说了创建对象的两种方式,一种是Object构造函数的方式,一种是对象字面量的方法.但这些方式创建多个对象的时候都会产生大量的重复代码.经过技术的进步也演化出来许多的创建对象的模式.本章会介绍 工厂模式,原型模式,构造函数模式和构造函数与原型模式的混合使用. 1,工厂模式 工厂模式是一个比较广为人知的模式,这种模式将细节抽象出来.代码如下 function createPerson(name,age,job){ var o =new Object(); o.name=name; o.

JavaScript中的工厂方法、构造函数与class

JavaScript中的工厂方法.构造函数与class 本文转载自:众成翻译 译者:谢于中 链接:http://www.zcfy.cc/article/1129 原文:https://medium.com/javascript-scene/javascript-factory-functions-vs-constructor-functions-vs-classes-2f22ceddf33e#.wby148xu6 在ES6出现之前,人们常常疑惑JavaScript中的工厂模式和构造函数模式到底有

轻松理解js的函数和构造函数的区别

如何轻松理解js的函数和构造函数的区别,这是个一直头大的问题,很多例子都没有清晰的描述清楚.. 在这里,我就用平常的道理来阐述一下,希望能理解清楚. 从这里开始入手吧 这是普通函数的定义和调用方式.看起来没什么特别的,但是往下看就有奇怪的东西了. 再做一个: 你没发先一个很奇怪的现象吗? 你的这个函数里面并没有返回什么,也就是没有return ,但是你调用的时候却可以接受啊. 如:var p=new Person('niexiaoqian'); alert(p.name); //niexiaoq

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

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

javascript--面向对象(二、工厂模式,构造函数,原型模式)

一.前言 上一篇介绍了对象的基本简单的概念和对象的数据属性和访问器属性,以及对这两种属性类型的一些操作,接来说一下与创建对象的模式. 二.创建对象的方式 (1)工厂模式 这种模式就是通过创建一个Object对象,并将属性和方法保存在Object对象中,将Object对象返回. function createPerson(name, age, job){ var obj = new Object();//通过创建Object来保存传递进来的属性 obj.name = name; obj.age =