jQuery源码学习-构造函数

jQuery 是一个快速、简洁的 JavaScript 框架,是继 Prototype 之后又一个优秀的 JavaScript 代码库(或 JavaScript 框架)。jQuery 设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装 JavaScript 常用的功能代码,提供一种简便的 JavaScript 设计模式,优化 HTML 文档操作、事件处理、动画设计和 Ajax 交互。 如此优秀的一个代码库,即便没有以前流行,也是有很多地方值得学习的。 本文并非讲解jquery源码,而是记录从源码学习到的思想、技术等 构造函数与继承 JavaScript是一门面向对象的编程语言,但是与传统面向对象语言不同的是,JavaScript没有提供class关键字,并且JavaScript的是基于原型继承的面向对象语言。那么,在JavaScript中编写类的过程,必定与传统的面向对象语言有所区别。 传统的类与继承 在ES6之前,都是通过创建构造函数的方式来创建一个类,比如: // Book类的原型 const BookPrototype = { getName() { return this.name }, } // Book类 function Book(name, author, content) { this.name = name this.author = author this.content = content } // Book类继承自 BookPrototype Book.prototype = BookPrototype const book = new Book('金瓶梅', '佚名', '此处省略999999999字') console.log(book.getName()) BookPrototype为Book类的原型(基类),使用new关键字创建的Book实例,都会包含BookPrototype里面的属性和方法。这里刚开始然我有些迷惑,参考经典的面向对象语言,基类应该也是一个类,这里却是一个对象字面量。首先,需要深刻明白一点: JavaScript 中,一切皆是对象。比如一个函数,我们可以给它加上任何的属性...

October 23, 2019 · 2 min · 347 words · Johnson