当前位置:首页 > H5 > 正文内容

js 工厂模式示例,js工厂模式原理

高老师7年前 (2017-10-05)H51607

查看文章前你需要了解以下2点:

//1.this指向的是windows对象,通过console.log(this)可以查看到对象包含所有的方法和属性

//2.全局变量属于this对象的属性通过console.log(this)可以查看到对象包含我们设置的全局变量

我们经常在创建相同结构的Js对象会重复的设置对象属性和方法,造成太多的冗余代码,例如下面:

var box1=new Object();
box1.name='张三';
box1.age =14;

var box2=new Object();
box2.name='李四';
box2.age =15;

我们为什么不用赋值的方式重写呢?因为对象属于引用类型,赋值后2个变量依旧引用同一个内存地址,一个发生变化,另一值也发生了变化。于是有了工厂模式

 function  createobject(name,age){
        var obj=new Object();
        obj.name=name;0

        obj.age=age;
        obj.run=function(){
        	return this.name+'--'+this.age;
        }
        return obj;
 }
var box1=createobject('高久峰',23);
var box2=createobject('某美女',24);

以上的工厂模式只是封装一个创建对象的方法,工厂模式的确解决的创建多个对象的问题,但是缺点是我们无法识别对象,因为它们都从属于Object对象。解决这个问题可以看看js构造函数文章。本站搜索。

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.5b1.cn/post/257.html

分享给朋友:

“ js 工厂模式示例,js工厂模式原理” 的相关文章

javascript停止定时器,	js删除定时器

javascript停止定时器, js删除定时器

    window.setInterval(method,time)方法本身会返回一个资源句柄,使用clearInterval(Intervalid)方法即可清除定时器<script> var num=0; //每隔1秒再控制台输...

使用js让手机震动,js实现手机震动

使用js让手机震动,js实现手机震动

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head>  ...

js cookie操作,js获取cookie值的方法,js 设置cookie

js cookie操作,js获取cookie值的方法,js 设置cookie

维护老项目中客户提到一个页面中有6个表单以上,导致每次保存一个其他的数据全部丢失,自己比较懒没有全部更换为ajax.用户每次输入完成或者选择完成记录cookie,每次提交后加载页面完成初始化cookie即可。以下代码取自w3school比较完善,之前在其他博客使用的经常出现bug,这个比较推荐使用:...

 js构造函数

js构造函数

工厂模式虽然解决了创建多个对象的问题,但是并没有解决识别对象从属的问题.因为都属于object.因此出现了构造函数//构造函数名称首字母大写是规范 function Box(name,age){ this.name=name; this.age=age; this.run=funct...

 js对象冒充实现继承

js对象冒充实现继承

//构造函数 function Box(name,age){ this.name=name; this.age=age; this.run=function(){ return this.name+'--'+this.age; } } var&nbs...

javascript原型基础知识

javascript原型基础知识

//我们创建每个函数默认都有一个prototype(原型)属性,这个属性是一个对象 //1.我是普通的构造方法,我的属性叫实例属性,我的方法叫实例方法 /* function Box(name,age){ this.name=name; this.age=age; this.run...