原型和原型链 - 解答
如何准确判断一个变量是数组类型
instanceof
实现一个简易的 jQuery ,考虑插件和扩展性
基本框架
js
class jQuery {
constructor(selector) {
const result = document.querySelectorAll(selector)
const length = result.length
for (let i = 0; i < length; i++) {
this[i] = selectorResult[i]
}
this.length = length
}
get(index) {
return this[index]
},
each(fn) {
for (let i = 0; i < this.length; i++) {
const elem = this[i]
fn(elem)
}
return this
},
on(type, fn) {
return this.each(elem => {
elem.addEventListener(type, fn, false)
})
}
}插件机制
js
// 使用继承 —— 基于 jQuery 基本功能,再造一个更强大的轮子
class myJQuery extends jQuery {
constructor(selector) {
super(selector)
}
// 扩展自己的方法
addClass(className) {
},
style(data) {
}
}
// 使用原型 —— 还用 jQuery ,仅仅扩展一个功能而已
jQuery.prototype.dialog = function (info) {
console.log(this) // this 即 jQuery 对象
}class 是语法糖,其本质是什么?
- 原型图示
- 执行规则

讨论区
欢迎留下想法与补充