构造函数的return
看下面的普通函数执行
基本类型值
function fun() { var a = 1; var b = 2; return a + b; } console.log(fun())
页面中返回的就是3,此时如果是引用了类型值呢?
function fun() { return { a: 1, b: 2 } } console.log(fun())
从上面代码我们发现普通函数的return就代表函数的返回,return什么就返回什么
我们再看构造函数的执行
先看基本类型值
function Fun(name,age,sex) { this.name = name; this.age = age; this.sex = sex; return 0 } var obj = new Fun("小明", 18, "男") console.log(obj)
你会发现基本类型值返回的就是一个空对象,而不是a+b的计算结果
再看引用类型值
function Fun(name,age,sex) { this.name = name; this.age = age; this.sex = sex; return { a: 1, b: 2 }; } var sum = new Fun("小明", 18, "男") console.log(sum)
引用类型值,返回的是该对象
当一个构造函数有return的时候,如果这个return是引用类型值,此时就不返回new的对象了(四步走创建的新对象),如果它return的是基本类型值,则忽略这个基本类型值,返回new的新对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律