JS-构造函数模式代码实战和总结-极客

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <body>
 8 <script>
 9     //构造函数模式代码实战和总结
10
11     //1 , 用户床垫特定类型的对象
12     //2,JS构造函数比较特殊的地方 new
13     //3, 其他的语言里,比如php里人家实现,有一个关键字创建一个类
14     //4,此时的zaomen是一个构造函数,又充当类的概念
15     function zaomen(huawen){
16         if (!(this instanceof zaomen)) {
17             return new zaomen();
18         }
19         //定义私有变量
20         var _huawen = ‘普通‘;
21         //如果传递了参数 huawen
22         if(huawen){
23             _huawen = huawen;
24         }
25         this.suo=‘普通的‘;
26         this.huawen = _huawen;
27         this.create = function(){
28             return  "【锁头】"+this.suo+"[花纹]"+this.huawen;
29         }
30     };
31
32     var xiaozhang = zaomen();
33     var a = xiaozhang.create();
34     alert(‘xiaozhang‘+a);
35     var xiaoli =new zaomen(‘绚丽‘);
36     alert(‘xiaoli‘+xiaoli.create());
37     //alert(a);弹出错误。因为此时create的 this.suo.. ....等等的this指向window对象 所以window没有此些属性 得 new一个 所以前面进行一个判段
38     //也可以 var xiaozhang = new zaomen();
39
40 </script>
41
42 <script>
43     //构造函数和单例模式一一相互对应的。一下修改代码
44     //aa公司
45     var AA = {
46         function:zaomen(huawen){
47         if (!(this instanceof zaomen)) {
48             return new zaomen();
49         }
50         //定义私有变量
51         var _huawen = ‘普通‘;
52         //如果传递了参数 huawen
53         if(huawen){
54             _huawen = huawen;
55         }
56         this.suo=‘普通的‘;
57         this.huawen = _huawen;
58         this.create = function(){
59             return  "【锁头】"+this.suo+"[花纹]"+this.huawen;
60         }
61     };
62     }
63
64 //BB公司
65     var BB = {
66         function:zaomen(huawen){
67         if (!(this instanceof zaomen)) {
68             return new zaomen();
69         }
70         //定义私有变量
71         var _huawen = ‘普通‘;
72         //如果传递了参数 huawen
73         if(huawen){
74             _huawen = huawen;
75         }
76         this.suo=‘普通的‘;
77         this.huawen = _huawen;
78         this.create = function(){
79             return  "【锁头】"+this.suo+"[花纹]"+this.huawen;
80         }
81     };
82     }
83
84     var xiaozhang = new AA.zaomen();
85     alert(‘xiaozhang‘+xiaozhang.create());
86
87     var xiaoli = new BB.zaomen(‘绚丽‘);
88     alert(‘xiaoli‘+xiaoli.create());
89 </script>
90 </body>
91 </html>
时间: 2024-08-02 21:29:14

JS-构造函数模式代码实战和总结-极客的相关文章

极客学院Web前端开发技术实战视频教程 初级入门+高级实战++专家课程+面试指导

===============课程目录=============== ├<初级中级>│  ├<1. HTML5开发前准备>│  │  ├1.HTML5开发前准备.mp4│  │  └2.开发前的准备-快捷键.mp4│  ├<10. React.js>│  │  ├React.js简介.txt│  │  ├<1.React 概述>│  │  │  ├React 开发环境搭建.mp4│  │  │  ├编写第一个 React 程序.mp4│  │  │  └什么

极客标签:用代码回放来愉快地学习前端知识

网 页编程学习的过程中最痛苦的是什么?你看到各种大牛写下的代码和旁边只言片语的说明,但你根本无法理解整套代码是怎样写下来的,大牛写的时候遵循的是什么 样的逻辑.教程放在一个屏幕,然后你自己的编程工具放在另一个屏幕,你在两个屏幕之间切换过来切换过去,浪费了时间浪费了力气. 结果呢?你把大牛的代码复制过来,把自己的项目内容放进去,做出了一个和大牛写的一样的网页,却感觉到自己根本什么都没学到.网页编程,以及所有编程学习中最痛苦的地方在于你试图理解你的学习对象的思路,但常规的教学材料的传播方式生硬,对于

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

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

构造函数模式自定义js对象

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 自定义javascript对象一: 定义一个函数的时候,首字母大小,默认为构造函数了 构造函数模式: 格式:function MyObjec

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

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

构造函数模式自己定义js对象

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 自己定义javascript对象一: 定义一个函数的时候,首字母大小,默觉得构造函数了 构造函数模式: 格式:function MyObje

js设计模式:工厂模式、构造函数模式、原型模式、混合模式

一.js面向对象程序 var o1 = new Object(); o1.name = "宾宾"; o1.sex = "男"; o1.age = "27"; o1.msg = function(){ console.log("姓名:"+this.name+"  性别:"+this.sex+"  年龄:"+this.age); } var o2 = new Object(); o2.nam

关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)

<1>工厂模式 简单来说就是封装后的代码,简单的工厂模式是很好理解的,关于它的作用,就是利用面向对象的方法,把一些对象封装,使一些占用空间多的,重复的代码封装起来.实现方法非常简单,也就是在函数内创建一个对象,给对象赋予属性以及方法再将对象返回即可. function creatper(name,age){ var per=new Object(); //原料 //加工 per.name=name; per.age=age; per.sayHi=function(){ console.log(

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

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