在构造函数里面,如果不写return的话默认就是返回创建的实例对象

如果以下程序的输出结果是false,则①式可以替换为()

const test = { rules: false }; function Build() { this.rules = true; } const build = new Build(); console.log(build.rules);

A
return false;
B
return this.rules;
C
return test;
D
什么都不做

正确答案:C

如果构造函数有返回值且返回值为一个对象,则由构造函数创建的实例对象即为返回的对象;
如果返回的是一个基本数据类型或者返回this,或者没有返回值,则默认返回由该构造函数创建的实例对象。

在本题中,只有C选项会使得构造函数返回的是test对象,其他选项会使得构造函数返回的都是由构造函数创建的实例。
由于test对象的rules属性值为false,而构造函数创建的实例,其rules属性值为true,故只有C选项正确。

1、在构造函数里面,如果不写return的话默认就是返回创建的实例对象。

2、在构造函数里面,如果写了return的话,

1)如果return的是一个基本数据类型的话比如,boolean,number,undefined等那么仍然返回实例对象; 2)如果return的是一个对象的话,则返回该对象。原本的指向实例对象的this会被无效化。

情况一:return false (return基本数据类型,仍然返回实例化对象)

情况二:return this.rules (return基本数据类型,仍然返回实例化对象)

情况三:return test (return对象test,返回对象test)

情况四:什么都不做 (不写return,默认返回创建的实例对象。)

在构造函数里面,如果不写return的话默认就是返回创建的实例对象,
但是如果加入了return的话,如果return的是一个基本数据类型的话比如,boolean,number,undefined等那么仍然返回实例对象,
如果返回的是一个对象的话,则返回该对象,原本的指向实际对象的this会被无效化。


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/17826168.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示