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

下面的代码为什么连续弹出两个"undefined"

下面的代码为什么连续弹出两个"undefined"

阿里斯托亚 2017-09-09 12:59:50
window.T = function(c){    if (!(this instanceof T)){        return new T(c)    };};var P = T.prototype;P.afu = function(cfg){    alert(cfg)};var myTree = T("9876");alert(myTree.afu())     为什么不是输出9876,而是连着输出两次undefined还有这句return new T(c)是不是返回一个对象,没有函数体的对象
查看完整描述

1 回答

已采纳
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

afu没传参数所以第一次弹undefined,alert(myTree.afu())接收的是返回值所以第二次弹undefined

查看完整回答
反对 回复 2017-09-09
  • 阿里斯托亚
    阿里斯托亚
    return new T(c) 这句是表示返回一个没有函数的对象吗
  • 橋本奈奈未
    橋本奈奈未
    alert(myTree.afu())接收的是myTree.afn()的返回值,就是afu()这个函数调用后的返回值。
  • 阿里斯托亚
    阿里斯托亚
    我是说这个函数执行后是不是返回一个没有函数的对象T function(c){     if (!(this instanceof T)){         return new T(c)     }; };
点击展开后面10
  • 1 回答
  • 0 关注
  • 1603 浏览
慕课专栏
更多

添加回答

举报

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