1.原型的理解第一篇,每个实例化对象都有一个_proto_,可以给这个_proto_添加属性
2.重新写了一个例子
为了解答上面的疑惑,我们看看grad这个属性藏在哪儿了????
解答为什么js的原型属性为什么可以做到动态的更新从而将属性的变化同步到所有实例中,(如果在下一层不应该 用newtudent.prototype.age 来取么??? 为什么可以直接newtudent.age)
参考链接
小结:
以上就是原型链的继承
接下来我们看一下借用构造函数继承 call和apply
继承 1.包括原型链继承 2.构造函数继承(apply和call)不能继承父级的原型 3.原型链继承和构造函数继承 会new两次 消耗cpu
当然还有其他继承,各种优缺点 请参考其他文档
1.call和apply
每个函数都有2两个非继承而来的方法
一般来说函数的this指向调用它的方法,但是call和apply则可以改变this指向
call 接收 函数运行时的作用域 + 参数1, + 参数2+ 参数3
apply 接收 2个参数 一个是函数运行时的作用域,加数组