欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

扩展实例对象访问内部属性问题

程序员文章站 2022-05-23 17:33:42
...

扩展实例对象访问内部属性问题

如下 代码所示

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,因为会实例对象会指向返回的引用类型,对象素组或者函数
如果构造函数内部返回一个基本数据类型的话,实例对象访问构造函数内部的属性或者方法仍然有效