[js]设计模式小结&对原型的修改
js设计模式小结

工厂模式/构造函数--减少重复
            - 创建对象有new
            - 自动创建obj,this赋值
            - 无return
原型链模式 - 进一步去重
类是函数数据类型,每个函数都有prototype
                                    constructor->指向原型本身
                                    __proto__->指向object类的prototype地址
实例是对象数据类型:每个对象都有__proto__属性->指向所属类的prototype地址

js对原型的操作
给原型添加属性
    - Fn.prototype.sum=function{}
    - Fn.prototype={} //constructor指向了Object的原型
                                  console.log(f.constructor); // 指向了object
                                  console.log(Fn.prototype); //里面没有constructor 了
                                  //这种情况弊端:
                                 原型上对象{} 改了,对应实例的属性也会发生变化
修改原型既有的属性:
    f1.__proto__.sum //ie禁止
    Fn.prototype.sum
												
											[js]设计模式小结&对原型的修改的更多相关文章
- [js]js设计模式小结
		
js设计模式小结 工厂模式/构造函数--减少重复 - 创建对象有new - 自动创建obj,this赋值 - 无return 原型链模式 - 进一步去重 类是函数数据类型,每个函数都有prototyp ...
 - js设计模式小结
		
1 构造函数模式 var Person = function(name){ this.name = name; this.getName = function(){ console.log(this. ...
 - js设计模式:工厂模式、构造函数模式、原型模式、混合模式
		
一.js面向对象程序 var o1 = new Object(); o1.name = "宾宾"; o1.sex = "男"; o1.a ...
 - jquery实现点击展开列表同时隐藏其他列表   js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象
		
这篇文章主要介绍了jquery实现点击展开列表同时隐藏其他列表的方法,涉及jquery鼠标事件及节点的遍历与属性操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery实现点击 ...
 - js设计模式总结1
		
js设计模式有很多种,知道不代表会用,更不代表理解,为了更好的理解每个设计模式,对每个设计模式进行总结,以后只要看到总结,就能知道该设计模式的作用,以及模式存在的优缺点,使用范围. 本文主要参考张容铭 ...
 - JS设计模式(一)
		
刚入职时,看过一段时间的设计模式,似懂非懂.不知不觉过去七个月了,对JS的理解更深刻了,数据结构与算法的基础也基本上算是过了一遍了,接下来要把设计模式搞定,然后不再深层次研究JS了,而是学习前端自动化 ...
 - JS设计模式——5.单体模式
		
JS设计模式——5.单体模式 http://www.cnblogs.com/JChen666/p/3610585.html 单体模式的优势 用了这么久的单体模式,竟全然不知!用它具体有哪些好处呢? ...
 - js isArray小结
		
原文:[转载]js isArray小结 在日常开发中,我们经常需要判断某个对象是否是数组类型的,在js中检测对象类型的常见的方法有几种: 1.typeof操作符.对于Function.String.N ...
 - Js继承小结
		
Js继承小结 一直以来,对Js的继承有所认识,但是认识不全面,没什么深刻印象.于是,经常性的浪费很多时间重新看博文学习继承,今天工作不是特别忙,有幸看到了http://www.slideshare.n ...
 
随机推荐
- ie11开发者模式打开空白
			
Internet选项——高级——取消 禁用脚本调试(Internet explorpr)
 - csv.writer写入文件有多余的空行
			
在用csv.writer写入文件的时候发现中间有多余的空行. 最早打开方式只是‘w’,会出现多余的空行,网上建议使用binary形式‘wb’打开可以解决问题: with open('egg2.csv' ...
 - Jupyter/JupyterLab安装使用
			
一.介绍 Jupyther notebook(曾经的Ipython notebook),是一个可以把代码.图像.注释.公式和作图集于一处,实现可读性及可视化分析的工具,支持多种编程语言.官方使用手册. ...
 - [转]用JAVA在读取EXCEL文件时如何判断列隐藏
			
原文地址:https://www.cnblogs.com/OwenWu/archive/2012/01/03/2310620.html org.apache.poi.hssf.usermodel.HS ...
 - Linux服务器重启后eureka报错
			
在Linux服务器重启后,首次启动应用时查看eureka注册中心,报错 EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP W ...
 - stl综合
			
区别: List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]. Vector ...
 - 安装jdk配置环境变量JAVA_HOME不起作用
			
今天重新安装系统,需要装jdk,配置环境变量,于是先配置JAVA_HOME D:\Program Files\Java\jdk1.8.0_144, 然后在配置path路径,但是cmd到dos命令行输 ...
 - 企业SaaS模式的优缺点
			
好处: 1.降低成本 项目成本.人员成本 2.使用简单 无需系统维护,用户只需登录就可以享受系统的功能 3.安全性 SaaS模式下,企业用户最关注的是自己的数据能不能得到安全保护. A.涉及的数据有哪 ...
 - 在vue中使用highcharts的仪表图等扩展
			
仪表图(”solidgauge“)在highcharts中属于扩展,单独引入highcharts使用仪表图会报错,需要在你的组件中做一谢其他的引入: // 最主要是这里模块的引入 很坑 import ...
 - python数据分析及展示(二)
			
一.Matplotlib库入门 1. Matplotlib库的介绍 http://matplotlib.org/gallery.html可查看Matplotlib库的效果 Matplotlib库由各种 ...