
JS
Amy.Wang
这个作者很懒,什么都没留下…
展开
-
es5继承与es6继承
es5中的继承方式: 1. 原型链继承 缺点:1. 创建实例时无法像父类构造函数传递参数; 2. 因为指定了原型,所以不能实现多继承; 3. 父类构造函数上的属性被所有子类共用,给原型上的属性赋值会改变其他子类的属性值; // es5 const Parent = function (name, ag...原创 2020-02-02 15:39:51 · 218 阅读 · 0 评论 -
new的过程实现
《JavaScript模式》中提到,new的过程要有三步: • 创建一个空对象,将它的引用赋给 this,继承函数的原型。 • 通过 this 将属性和方法添加至这个对象 • 最后返回 this 指向的新对象,也就是实例(如果没有手动返回其他的对象) 更准确的来说应该是: •以构造器的prototype属性为原型,创建新对象; •将this(也就是上一句中的新对象)和调用参数传给...原创 2020-02-02 10:44:03 · 780 阅读 · 0 评论 -
JS中的bind、call、apply方法
bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 call 和 apply 是为了动态改变 this 而出现的,当一个 object 没有某个方法(banana没有say方法),但是其他的有(apple有say方法),我们可以借助call或apply用其它对象的方法来操作。 function fruits() {} fruits.prototype = { ...原创 2020-02-01 16:12:31 · 232 阅读 · 0 评论