不是很理解继承的那个地方
不理解用了call()为什么还要用到util.inherit(),既然都要用到继承,为什么还要使用.call()?
不理解用了call()为什么还要用到util.inherit(),既然都要用到继承,为什么还要使用.call()?
2016-05-09
我是这么理解的:
有a b俩个函数
function a(d){ this.sk = function(){ alert(d) } //this.mc() } //a.prototype.mc = function(){ //alert(2) //} function b(f){ a.call(this,f) } var c = new b(3).sk() //F12运行,弹出3,你打开隐藏,会提示你this.mc没找到- - 说明使用call,仅仅只能继承函数内部的属性, 函数原型的方法是继承不到的(其实这里说继承,是不准确的,且当是继承吧,反正就是能使用函数内部的一切)。 inherits刚好相反,继承的是a函数原型的mc方法,反而a函数的内部的sk属性继承不到。
新手互勉
你参考下这个http://sentsin.com/web/179.html;;;;
.call只是把别的某个函数拿来自己用,,
而util.inherits是把stream.Readable圆形链上面的函数继承到ReadStream上来!
PS:有错请指出
举报