为了账号安全,请及时绑定邮箱和手机立即绑定

为什么CopyFun构造函数通过new 可以继承来自Fun的属性?

为什么CopyFun构造函数通过new 可以继承来自Fun的属性?

萧十郎 2018-10-17 13:10:42
function Fun() {    this.name = "mary";    this.sec = function () {         console.log("sec");     } } function CopyFun() {    // Fun.call(this);     this.fun = Fun;    this.fun(); }var fun = new CopyFun();fun.sec();  // secconsole.log(fun.name);  // maryconsole.log(fun.hasOwnProperty("sec"));  // true为什么CopyFun中this.fun()方法执行就可以创建属性?我是这样理解的:this.fun = function(){    this.name = "mary";    this.sec = function () {        console.log("sec");     } }当执行 this.fun() 这一步时应该是一个正常函数的调用,由于没有返回值所以应该返回undefined。但实际情况是,它相当于执行了Fun.call(this),创建的属性name和sec,这一点不能理解,望哪位大神给解释一下,谢谢!!!。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 509 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信