您当前的位置: 首页 > 

暂无认证

  • 2浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

判断是否给实例设置属性name

发布时间:2021-03-14 18:50:44 ,浏览量:2

4、写出下面代码执行输出的结果
function C1(name) { // => name: undefined 没有给实例设置私有的属性name if (name) { this.name = name; } } function C2(name) { // => 给实例设置私有属性 name this.name = undefind this.name = name; } function C3(name) { // => 给实例设置私有属性 name this.name = undefind // 因为 name 的值为 undefined // 所以走 || 后面的代码 this.name = name || 'join'; } C1.prototype.name = 'Tom'; C2.prototype.name = 'Tom'; C3.prototype.name = 'Tom'; console.log((new C1().name) + (new C2().name) + (new C3().name)); // new C1().name // 没有传参 函数里面的 name 为 undefined // 实例里面没有 name 找原型上的 'Tom' // new C2().name  // 没有传参 函数里面的的 name 为 undefined // 但是函数确实添加了 name 属性 只是值为 undefined 而已 // 所以找私有属性 name 的值为 undefined // new C3().name // 没有传参 函数里面的 name 为 undefined // 但是函数确实添加了 name 属性 只是值为 'join' // 所以私有属性 name 的值为 'join' // 最终结果为 'Tomundefinedjoin' 
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.3516s