js原型初窥-伪类模式
来源:互联网 发布:手机淘宝私人定制 编辑:程序博客网 时间:2024/06/10 01:07
JavaScript中是没有类的
一.JavaScript 语言本身是没有类的,js类是通过对象模拟的。
二.JavaScript 的对象和构造类没有关系
JavaScript 构造函数就是一个伪类模式
在java 中构造函数改变 实例对象也会改变,《java编制思想》中上溯造型、继承 等原理 严格明确了 类与对象的引用关系
然而在JavaScript 中存在的只有对象引用,却没有真实的类。虽然 js都可以模拟出来继承、封装 等原理。
JavaScript 构造函数为什么是一个伪类?
<script type="text/javascript">function Preson(){}var p1 = new Preson();Preson.prototype = {name : 'liu'}//修改Preson实例对象的原型对象Preson.prototype.constructor = Preson;//把实例对象的原型对象构造指向自己var p2 = new Preson();console.log(p1.constructor === p2.constructor);//trueconsole.log(p1.__proto__ === p2.__proto__);//flase</script>
1.构造函数的实例在创建时,不是引用。而是完完全全的复制了一遍。
这是我根据上述代码手绘的一张图
Preson构造函数就是自定义构造器,new 出来的实例1,其实和实例 根本不是一种引用关系,可以理解为照着自定义构造器
的模子copy的一份 互不干扰的实例。 当我们修改Preson的prototype其实实例1根本不受任何影响,当我们把实例对象原型的构造
也修改为Preson本身,实例1还是不受任何影响,虽然实例1可以通过constructor找到已经被修改的原型。但是实例1的原型早在被
new出来的时候就已经确定了。 实例2的出现 又是独立的一份。 足以说明JavaScript 的类 继承都是通过对象模拟出来的。所以构造函数就是一个伪类
我会在近2天 总结继承,也会画出底层原型关系图,喜欢的点个关注。
阅读全文
1 0
- js原型初窥-伪类模式
- js的原型模式
- js原型设计模式
- js原型模式
- Js之原型模式
- js 的原型链 以及伪继承
- js 原型模式 原型prototype 正解
- JS原型模式的优势
- js设计模式-原型模型
- js的原型模式理解
- JS设计模式之原型模式
- JS中 原型模式与构造模式
- JS原型设计模式之动态模式
- JS原型--初理解
- JS中的原型类
- 原型模式(创建类)
- 原型模式与原型链(js学习)
- js 构造函数与原型模式
- Access几个小技巧总结
- 使用Glide实现在非WiFi环境手动点击下载图片(判断Glide是否缓存了图片)
- 神州专车全站HTTPS加密,保护用户数据安全
- 深度学习:长短期记忆模型LSTM
- openGl2.0 3D
- js原型初窥-伪类模式
- QGis 二次开发基础 -- 显示数据
- 读《第一行代码》遇到问题5:通知的一些问题
- 计算机网络
- 关于响应式开发的设计规范
- Spartan6 LX45上的(串口)UART+DDR3读写操作
- 聚合查询
- BOSE推出真无线耳机SoundSport Free
- 焦虑的CIO们,最美的蓝海,不在远方,而在身后