在使用构造函数创建实例时,浏览器会默认在最后将创建的对象堆内存地址返回,但如果在创建实例中使用了return呢?
1.当return一个基本类型时,return不会发生作用,构造函数依旧返回一个实例对象。
function Fn(name, age) {
this.name = name
this.age = age
return "hahaha"
}
var instance = new Fn("fjl", 20)
console.log(instance)
2.当return一个引用类型时,return会覆盖创建实例,构造函数返回自己手写的引用类型值。
function Fn(name, age) {
this.name = name
this.age = age
return {}
}
var instance = new Fn("fjl", 20)
console.log(instance)
3.当只使用return时,return只会终止代码执行。依旧返回一个创建的实例
function Fn(name, age) {
this.name = name
this.age = age
return
console.log(instance)
}
var instance = new Fn("fjl", 20)
console.log(instance)