扩展实例对象访问内部属性问题
如下 代码所示
function fn() {
this.name = "hello";
return {}
}
function f1() {
this.name = "word";
return 1;
}
var f = new fn();
var f1 = new f1();
console.log(f, f.name) //{} underfind
console.log(f1, f1.name) //f1实例 word
解释下:当一个构造函数内部返回一个引用类型的话,实例对象访问构造函数内部的方法或属性会是underfind,因为会实例对象会指向返回的引用类型,对象素组或者函数
如果构造函数内部返回一个基本数据类型的话,实例对象访问构造函数内部的属性或者方法仍然有效