请考虑以下代码:
function f() {
function Ctor() {}
return { instance: new Ctor(), referenceToCtor: Ctor };
}
var a = f();
var b = f();
a.instance instanceof a.referenceToCtor; // true
b.instance instanceof a.referenceToCtor; // false
这告诉我们instanceof
和函数语句的含义是什么?
这是否意味着每次调用f
时,都会实例化一个名为Ctor
的全新Function-object,因此instanceof
会返回false
。
这类似于instanceof Array
和多个窗口的问题吗?
答案 0 :(得分:3)
这是否意味着每次调用
f
时,都会实例化一个名为Ctor
的全新Function-object,因此instanceof
会返回false
。
是
这类似于
instanceof Array
和多个窗口的问题吗?
是
答案 1 :(得分:2)
函数声明在给定范围内创建变量,每次运行外部函数时都会得到一个新函数和新范围。
是和是。