首页 > 试题广场 >

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

[单选题]
如果以下程序的输出结果是false,则①式可以替换为()
const test = {
  rules: false
};
function Build() {
	this.rules = true;
        ①
}
const build = new Build();
console.log(build.rules);


  • return false;
  • return this.rules;
  • return test;
  • 什么都不做
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,默认返回创建的实例对象。


发表于 2022-01-26 14:39:08 回复(12)
在构造函数里面,如果不写return的话默认就是返回创建的实例对象,但是如果加入了return的话,如果return的是一个基本数据类型的话比如,boolean,number,undefined等那么仍然返回实例对象,如果返回的是一个对象的话,则返回该对象,原本的指向实际对象的this会被无效化。
发表于 2021-12-15 15:29:31 回复(4)

new 操作符原理

  1. 创建一个新的空对象
  2. 新对象隐式原型指向构造函数显式原型
  3. 构造函数的 this 指向新对象,执行构造函数,给新对象添加属性方法
  4. 判断构造函数返回值类型,如果是基本类型,则返回创建的新对象,如果是引用类型,则返回这个引用类型值
发表于 2022-08-19 21:07:04 回复(0)
对于一个构造函数来说 , 首先看调用的时候有没有加new , 如果加上了new , 那么就是把这个函数当做是构造函数来使用的。
对于构造函数的返回值 :
如果没有写return(那么返回的是undefined), 那么就默认返回的是创建的实例对象
如果写了return , 但是返回值是一个值类型的 , 那么默认返回的还是创建的实例对象
如果返回值是一个引用类型的 , 那么返回的就是该对象
如果说调用的时候没有加上new, 那么就是将其当做一个普通函数来进行调用 ,那么此时函数return什么 , 返回值就是什么
发表于 2022-06-04 15:36:43 回复(0)
构造函数里必须返回一个对象
发表于 2022-02-25 21:53:47 回复(0)
return false得罪出题人了?🤔
发表于 2021-12-12 03:33:14 回复(8)
构造函数被实例化后,如果构造函数返回的是一个对象则build.rules是调用返回对象里的值,如果返回的是普通类型则调用构造器里的。
发表于 2022-01-06 09:31:30 回复(0)
为什么不是return false 呢
发表于 2021-12-20 21:48:20 回复(0)
构造函数被实例化后必须返回一个对象
发表于 2022-09-13 15:03:20 回复(0)
看蒙了
发表于 2022-08-10 17:24:55 回复(1)
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,默认返回创建的实例对象。

发表于 2022-07-19 23:13:37 回复(0)
读不懂题目 吃了语文的亏
发表于 2022-05-23 21:45:33 回复(0)
它这个是函数构造器调用 //函数构造器(构造函数)(定义函数) function Build(){ this.rules=true } //创建一个新对象 const build=new Build() console.log(build.rules) //结果:true 题目说要结果是false 所以: 因为this已经指向rules 所以把test return出来就行 所以 return test; 疑问一 this指向; fun()或(fun())(). this指向window obj.fun. this指向obj new fun(). this指向新对象 类型名.prototype.共有方法=function(){...}. 将来谁调用就指谁 疑问二 window (全局)没有rules。this现在指的rules是常量 加了 return就指向test 为什么加return,return也就终止函数是一个函数结束的标准,加了return就代表函数运行完成了,就像 break,continue一样 (但意义不同) 疑问三 带参数和不带参数,有时候见构造函数带一个参数,为什么没有参数 function Build(){ this.rules=true } const build=new Build() Build() //结果默认为true 和 function Build(arg){ this.rules=arg } const build=new Build(true) Build() //参数为true 一样
发表于 2021-12-24 13:51:56 回复(0)
啥意思捏🤔来个懂哥
发表于 2021-12-15 11:01:27 回复(0)