js之面向对象
文章平均质量分 70
小白Hard
这个作者很懒,什么都没留下…
展开
-
重写hasPubProperty
检测是否是私有属性:hasOwnProperty for…in… 优先遍历数字属性,而且按照从小到大遍历,再去遍历其他的属性; 无法遍历Symbol的私有属性;【内置类是不可枚举的】 获取私有属性:Object.keys(obj) Object.getOwnPropertyNames(obj) 获取Symbols:Object.getOwnPropertySymbols(obj) 共有或私有属性均可以判断:in 判断是否是共有属性: <script> Object..原创 2021-01-25 21:22:40 · 161 阅读 · 0 评论 -
JS中的多种继承
JS中第一种继承方案:原型继承(让子类的原型等于父类的实例即可) 原型继承: (1)父类中私有的和公有的属性方法,最后变为子类实例公有的 (2)和其他不同,原型继承并会把父类的属性方法“拷贝”给子类,而是让子类实例基于__proto__原型链找到自己定义的属性和方法( “指向/查找”方法) <script> function Parent(){ this.x=100; } Parent.prototype.getX=function getX().原创 2020-09-01 11:19:17 · 126 阅读 · 0 评论 -
js之面向对象(原型链、重定向、重写new)
一.原型原型链 所有的类都是函数数据类型的(包含内置类) 所有的函数都天生自带一个属性:prototype原型 prototype的属性值默认是一个对象数据类型值【堆】 在对象中存储的是供实例能调用的公共属性和方法 并且在类的原型对象上,默认有一个属性constructor构造函数,属性值是当前类本身 所有对象数据类型值也天生自带一个属性:__proto__原型链 __proto__属性的属性值:当前实例所属类的原型prototype.实例.proto===类.prototype 都哪些值是对象数据类型的原创 2020-08-31 10:09:40 · 397 阅读 · 0 评论