JS面向对象 在JS中一切皆对象,但JS并不是一种真正的面向对象(OOP)的语言,因为它缺少类(class)的概念。虽然ES6引入了class和extends,使我们能够轻易地实现类和继承。但JS并不存在真实的类,JS的类是通过函数以及原型链机制模拟的,本小节的就来探究如何在ES5环境下利用函数和原 ...
分类:
其他好文 时间:
2020-04-08 09:20:36
阅读次数:
58
```javascript // 原型链继承 /** * 1. 原型链继承 * 缺点: * 1. 在子类中不能向父类传参 * 2. 父类中所有引用类型的属性会被所有子类实例共享,也就说一个子类实例修改了父类中的某个引用类型的属性时,其他子类实例也会受到影响 */ function Parent() ... ...
分类:
编程语言 时间:
2020-04-03 19:54:42
阅读次数:
74
JavaScript DOM 基础 DOM 即文档对象模型,是操作 HTML/XML 文档的一套方法。通过 DOM 操作节点,使页面发生改变,是动态文档技术的核心内容 DOM 的含义 DOM 即 document object model,文档对象模型 JavaScript 中有三类对象 本地对象 ...
分类:
编程语言 时间:
2020-03-31 21:20:10
阅读次数:
67
Object.create()介绍Object.create(null) 创建的对象是一个空对象,在该对象上没有继承 Object.prototype 原型链上的属性或者方法,例如:toString(), hasOwnProperty()等方法 Object.create()方法接受两个参数:Obj ...
分类:
其他好文 时间:
2020-03-30 16:35:43
阅读次数:
70
hasOwnProperty()方法可以检测对象是否有某个属性 var man = { legs:2, hands:2, heads:1 } man.hasOwnProperty("heads") //true hasOwnProperty()不能检测原型链上的属性 ...
分类:
其他好文 时间:
2020-03-21 21:32:51
阅读次数:
61
Class的继承 简介 class可以通过extends关键字实现继承,这比ES5的通过修改原型链实现继承,要清晰和方便很多。 上面定义了一个 类,该类通过extends关键字,继承了Point类的所有属性和方法,但是由于没有部署任何 代码,所以这两个类完全一样,等于复制了一个 类。下面,我们在 内 ...
分类:
其他好文 时间:
2020-03-19 13:29:02
阅读次数:
56
这个绕来绕去的线是不是很恶心呢?那就先别管这些了,等整个逻辑我们梳理完就自然而然的会明白了~ 一、 什么是原型链? 每个对象都可以有一个原型_proto_,这个原型还可以有它自己的原型,以此类推,形成一个原型链。查找特定属性的时候,我们先去这个对象里去找,如果没有的话就去它的原型对象里面去,如果还是 ...
分类:
Web程序 时间:
2020-03-18 23:49:57
阅读次数:
79
(一) 继承模式 传统形式(原型链) (1) 缺点:过多的继承了没用的属性 (2) 代码展示 //缺点:过多的继承了没用的属性 Grand.prototype.lastName = '张'; function Grand(){ this.name = '国庆'; } var grand = new ...
分类:
其他好文 时间:
2020-03-16 20:29:02
阅读次数:
55
参考:https://www.jianshu.com/p/72156bc03ac1; https://zhuanlan.zhihu.com/p/42963985; ...
分类:
其他好文 时间:
2020-03-16 19:03:16
阅读次数:
31
前言 什么是原型? 狭义上将是原型人物。通常这样的解释,往往我们会觉得原型与产品之间,是在原型上破坏性的加工。 如果这样理解的话,那么将会对js的原型理解艰难,因为英文翻译过来是抽象的。 js的原型是扩展的意思,就像我们学数据结构的双向链表一样。 也就是说原型是扩展的对象的一个属性。 那么什么是原型 ...
分类:
Web程序 时间:
2020-03-13 17:13:55
阅读次数:
64