JS-构造函数模式代码实战和总结-极客
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//构造函数模式代码实战和总结 //1 , 用户床垫特定类型的对象
//2,JS构造函数比较特殊的地方 new
//3, 其他的语言里,比如php里人家实现,有一个关键字创建一个类
//4,此时的zaomen是一个构造函数,又充当类的概念
function zaomen(huawen){
if (!(this instanceof zaomen)) {
return new zaomen();
}
//定义私有变量
var _huawen = '普通';
//如果传递了参数 huawen
if(huawen){
_huawen = huawen;
}
this.suo='普通的';
this.huawen = _huawen;
this.create = function(){
return "【锁头】"+this.suo+"[花纹]"+this.huawen;
}
}; var xiaozhang = zaomen();
var a = xiaozhang.create();
alert('xiaozhang'+a);
var xiaoli =new zaomen('绚丽');
alert('xiaoli'+xiaoli.create());
//alert(a);弹出错误。因为此时create的 this.suo.. ....等等的this指向window对象 所以window没有此些属性 得 new一个 所以前面进行一个判段
//也可以 var xiaozhang = new zaomen(); </script> <script>
//构造函数和单例模式一一相互对应的。一下修改代码
//aa公司
var AA = {
function:zaomen(huawen){
if (!(this instanceof zaomen)) {
return new zaomen();
}
//定义私有变量
var _huawen = '普通';
//如果传递了参数 huawen
if(huawen){
_huawen = huawen;
}
this.suo='普通的';
this.huawen = _huawen;
this.create = function(){
return "【锁头】"+this.suo+"[花纹]"+this.huawen;
}
};
} //BB公司
var BB = {
function:zaomen(huawen){
if (!(this instanceof zaomen)) {
return new zaomen();
}
//定义私有变量
var _huawen = '普通';
//如果传递了参数 huawen
if(huawen){
_huawen = huawen;
}
this.suo='普通的';
this.huawen = _huawen;
this.create = function(){
return "【锁头】"+this.suo+"[花纹]"+this.huawen;
}
};
} var xiaozhang = new AA.zaomen();
alert('xiaozhang'+xiaozhang.create()); var xiaoli = new BB.zaomen('绚丽');
alert('xiaoli'+xiaoli.create());
</script>
</body>
</html>
JS-构造函数模式代码实战和总结-极客的更多相关文章
- JS构造函数模式
构造函数是可以创建特定类型对象的函数,可以接受参数定义函数成员.如果之前做过java比较好理解,举个例子: function exampleFunction(arg1, arg2, arg3){ th ...
- Mysql实战45讲 06讲全局锁和表锁:给表加个字段怎么有这么多阻碍 极客时间 读书笔记
Mysql实战45讲 极客时间 读书笔记 Mysql实战45讲 极客时间 读书笔记 笔记体会: 根据加锁范围:MySQL里面的锁可以分为:全局锁.表级锁.行级锁 一.全局锁:对整个数据库实例加锁.My ...
- js面向对象、创建对象的工厂模式、构造函数模式、原型链模式
JS面向对象编程(转载) 什么是面向对象编程(OOP)?用对象的思想去写代码,就是面向对象编程. 面向对象编程的特点 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有对象上继承出新的对象 ...
- 构造函数模式自己定义js对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 面向对象JS基础讲解,工厂模式、构造函数模式、原型模式、混合模式、动态原型模式
什么是面向对象?面向对象是一种思想!(废话). 面向对象可以把程序中的关键模块都视为对象,而模块拥有属性及方法.这样我们如果把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作.接下 ...
- js设计模式:工厂模式、构造函数模式、原型模式、混合模式
一.js面向对象程序 var o1 = new Object(); o1.name = "宾宾"; o1.sex = "男"; o1.a ...
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
什么是面向对象?面向对象是一种思想. 面向对象可以把程序中的关键模块都视为对象, 而模块拥有属性及方法. 这样如果我们把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作. 工厂 ...
- JS构造函数、对象工厂、原型模式
1.对象创建的3中方法 1.1.对象字面量 var obj = { name: "mingzi", work: function () { console.log("wo ...
- js面向对象的几种方式----工厂模式、构造函数模式、原型模式
对象的字面量 var obj={} 创建实例对象 var obj=new Object() 工厂模式 function cPerson(name,sex,age){ var o = new Objec ...
随机推荐
- 2019 ICPC南昌邀请赛 网络赛 K. MORE XOR
说明 \(\oplus x\)为累异或 $ x^{\oplus(a)}$为异或幂 题意&解法 题库链接 $ f(l,r)=\oplus_{i=l}^{r} a[i]$ $ g(l,r)=\ ...
- .net core 运行时事件(Runtime Events)
.Net Core 2.2.0 .Net Core 2.2.0已经发布有一段时间了,很多新鲜功能已经有博主介绍了,今天给大家介绍一下运行时事件并附上demo. 运行时事件 通常需要监视运行时服务(如当 ...
- thinkphp 操作xml格式
前言:虽然xml的格式看起来跟html差不多,但是最近做项目由于用的是thinkphp5.0的版本,做的过程中还是遇到了一些问题.在这里做一下记录. 首先我们需要定义一个dom对象,我们都知道 php ...
- UE4外包团队:更新一下UE4和Unity3D案例
全部的贴图都是用出的法线贴图构建的话只用了阳光和天光,都是静态光源,视角是第一人称模板最后的效果嘛就是全4K,120帧,0错误0警告,场景小是小了点但是效果还不错. 工作活有时间更新,欢迎有UE4和U ...
- c#数据库事务锁类型
一.脏读.不可重复读.幻象读的区别 1.脏读:包含未提交数据的读取.例如,事务 a 更改了某行(数据库已发生更改,但尚未提交,有可能发生回滚),事务 b 在事务 a 提交更改之前读取已更改的行.如 ...
- fiddler抓不到chrome浏览器的请求
今天遇到一个非常尴尬的问题,接口在某种情况下会报错,此时前端会展示NAN之类的东西,由于复现不了,接口现在一直不报 错了,所以就让前端做了个友好提示, 当接口报错时,给个提示“请稍后重试” ,我要测试 ...
- 剑指offer-01
好久没看java, 今天把 runoob 上的java基础简单过了一遍. 来吧,怎么整这个题目呢? 首先遇到的问题是java如何输入一个数组,而且这个数组并不知道长度是多少 用Scanner类 Sca ...
- 保密数据!泽宝曝光各个主要店铺收入 核心SKU数量少得惊人
今年跨境电商圈的一大并购,上市公司星徽精密并购知名跨境电商大卖家泽宝股份正在进程中.星徽精密在向证监会行政许可项目审查回复中,披露了泽宝股份众多保密数据,揭开了泽宝股份众多经营关键点,值得跨境电商卖家 ...
- ajax 提交数组 泛型集合
ajax 提交数组 泛型集合 发表于2015/12/31 14:26:29 5117人阅读 分类: mvc asp.net webapi ORM 转载:http://blog.csdn.net/li ...
- VNPY 文件目录结构
VNPY ├─examples 可以运行起来的实际程序│ ├─CoinapiDataService│ ├─CryptoTrader│ ├─CtaBacktesting│ ├─CtaTrading│ ├ ...