JavaScript 通过prototype改变原型的两种方式
// -------------------- prototype 1 --------------------
function A(){}
A.prototype.n = 1
let b = new A()  
A.prototype.n = 2
A.prototype.m = 3
let c = new A()
console.dir(b) // {n: 2, m: 3}
console.dir(c) // {n: 2, m: 3}
// -------------------- prototype 2 --------------------
function A(){}
A.prototype.n = 1
let b = new A()  // 实例的 _proto__ 与构造函数的 prototype 指向同一个地址.
A.prototype = {n:2,m:3} // 这里把构造函数的 prototype 指向了别的地址,所以实例的 __proto__ 和构造函数的 prototype 不再指向同一个地址了
let c = new A()
console.dir(b) // {n: 1}  而前者的A.prototype改变了地址,指向了{n:1, m:2},所以不会影响先前创建的实例b
console.dir(c) // {n: 2, m: 3}
/**
 * A.prototype.n是添加属性n的值,A.prototype={n:1,m:2}是用{n:1,m:2}对象覆盖了prototype其他的属性
 * 使用.的形式还是操作原先的内存指向, 而等号就是重新赋值了
 */
JavaScript 通过prototype改变原型的两种方式的更多相关文章
- javascript消除字符串两边空格的两种方式,面向对象和函数式编程。python oop在调用时候的优点
		主要是javascript中消除字符串空格,比较两种方式的不同 //面向对象,消除字符串两边空格 String.prototype.trim = function() { return this.re ... 
- javascript文件夹选择框的两种解决方案
		javascript文件夹选择框的两种解决方案 解决方案1:调用windows 的shell,但会有安全问题. * browseFolder.js * 该文件定义了BrowseFolder()函数,它 ... 
- angularjs通过ng-change和watch两种方式实现对表单输入改变的监控
		angularjs通过ng-change和watch两种方式实现对表单输入改变的监控 直接上练习代码 <!DOCTYPE html> <html xmlns="http:/ ... 
- VS Code - Debugger for Chrome调试JavaScript的两种方式
		VS Code - Debugger for Chrome调试JavaScript的两种方式 最近由于出差的缘故,博客写的不是很多,一直想写一篇VS Code - Debugger for Chrom ... 
- JavaScript对象属性访问的两种方式
		JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "f ... 
- Flex(ActionScript)与JavaScript交互的两种方式示例
		随着各单位部门信息化进程的不断发展,互通互联.共享协调不断的被越来越多的客户所重视.很多新项目都要去必须能够集成已有的早期系统,至少也要能够实现交互对接.今天跟大家分享的是系统对接中ActionScr ... 
- IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法
		IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法 IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法 两种方法只是形式 ... 
- 【javascript】原生js更改css样式的两种方式
		下面我给大家介绍的是原生js更改CSS样式的两种方式: 1通过在javascript代码中的node.style.cssText="css表达式1:css表达式2:css表达式3 &quo ... 
- html中如何实现表格移入移出时背景颜色改变?(两种方法)
		html中如何实现表格移入移出时背景颜色改变?(两种方法) 一.总结 1.通过css的table标签的hover属性: 10 #tab:hover{ 11 background: green 12 } ... 
随机推荐
- ajax+jquery+JSON笔记
			ajax (asynchronous javascript and xml -- 基于javascript和xml的异同步通讯技术) 特征: 异步通讯 异步的请求-响应模式 1.传统的 ... 
- C# 人脸识别库 0.2
			ViewFaceCore 0.2 超简单的 C# 人脸识别库 前言: 首先谢谢大家对这个库的关注,前一篇博文得到了大家的 支持 和 Star,十分开心.本想尽快实现大家的期待的活体检测功能,但是前段时 ... 
- MAC地址和交换机
			数据链路层主要关注三个问题: 这个包是发给谁的?谁应该接收? 大家都在发,会不会产生混乱?有没有谁先发.谁后发的规则? 如果发送的时候出现了错误,怎么办? 数据链路层也称为MAC(Medium Acc ... 
- 从连接器组件看Tomcat的线程模型——NIO模式
			Tomcat8之后,针对Http协议默认使用org.apache.coyote.http11.Http11NioProtocol,也就是NIO模式.通过之前的博客分析,我们知道Connector组件在 ... 
- 题解 CF585F 【Digits of Number Pi】
			考虑用数位 \(DP\) 来统计数字串个数,用 \(SAM\) 来实现子串的匹配. 设状态 \(f(pos,cur,lenth,lim,flag)\),表示数位的位数,在 \(SAM\) 上的节点,匹 ... 
- 最大连续区间(HDU-1540)
			HDU1540 线段树最大连续区间. 给定长度为n的数组,m次操作. 操作D,删除给定节点. 操作R,恢复最后一个删除的节点. 操作Q,询问给定节点的最大连续区间 维护三个值,区间的最大左连续区间,最 ... 
- A - New Building for SIS
			You are looking at the floor plan of the Summer Informatics School's new building. You were tasked w ... 
- vue学习  `${HH}-${mm}-${dd}`   按键修饰符
			vue 有一种拼接字符串的规范写法 //键盘 Tab 键 上边的键 英文输入状态 然后采用类似EL表达式${变量}return `${}:${}:${}` //有时候我们经常在输入完密码之后,按回车E ... 
- intellij IDEA导入maven项目
			一.导入maven项目 1.打开intellij idea,点击File(如下图1),然后点击Open(如下图2) 
- NanoHTTPD服务
			需要导入nanohttpd2.3,jar包 继承NanoHTTPD public class HttpServer extends NanoHTTPD { public HttpServer(int ... 
