JavaScript对象可在范围外访问,但Type不可访问

时间:2017-09-14 09:23:08

标签: javascript

请考虑以下代码段:

var OuterScope = function () {

    function InnerScope () {
        this.name = "K";
        this.address = 10;
    }

    return new InnerScope();
};

console.log(new OuterScope());//Returns: InnerScope { name: 'K', address: 10 }
console.log(new OuterScope().constructor.name);//Returns: InnerScope

为什么/ new OuterScope()如何返回数据? InnerScope未在全局命名空间中定义(其中new OuterScope()正在被调用),但JS正确识别对象/它的属性/构造函数名称等。

似乎将返回的数据解析为JSON&全局命名空间中的JS解释器基于该JSON结构创建一个JS对象,类似于从服务器端向客户端提供JSON数据时发生的情况。

0 个答案:

没有答案