原型和原型链

如何准确判断一个变量是不是数组?

var arr = []
arr instanceof Array // true
arr.constructor === Array // true
Object.prototype.toString.call(arr) === '[object Array]' // true
Array.isArray(arr) // true

class 的原型本质,怎么理解?

原型关系:
每个class都有显示原型prototype
每个实例都有隐式原型_proto_
实例的_proto_指向对应class的prototype

基于原型的执行规则:
先找自身属性和方法,没有的话取__proto__中找,顺着原型链一直找,知道找到或者到头为止,object的__proto__指向null则结束

如何用 class 实现继承

class 的继承方式,包括属性和方法
extends 继承自....
super 调用父类构造函数,传递父类的值,避免一处多改

class 实际上是函数,可见是语法糖 

__proto__:隐式原型,

prototype:显示原型,

二者全等(===) 

手写一个简易的jQuery ,考虑插件和扩展性

手写代码之jquery

你可能感兴趣的:(javascript)