关于 JavaScript 中函数语句的推理
Reasoning about function statements in JavaScript
请考虑以下代码:
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
的全新函数对象,因此instanceof
返回false
。
这是否类似于instanceof Array
和多个窗口的问题?
这是否意味着每次调用
f
时都会实例化一个名为Ctor
的全新函数对象,因此instanceof
返回false
。
是的。
这类似于
instanceof Array
和多个窗口的问题吗?
是的。
函数声明在给定作用域中创建一个变量,每次运行外部函数时都会获得一个新函数和新作用域。
是的,是的。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 自动修复”;语句前缺少分号“;
- 如何在 API 调用后和 if 语句中启用提交按钮
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 带有多个elseif的Javascript if语句
- 这个条件语句的逻辑有问题
- Sharepoint JScript if语句未执行
- 为什么继续;语句冻结浏览器
- Javascript:If-then语句在函数中不起作用
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- for循环中的javascript if语句找不到==
- 当使用extern和目标JavaScript时,我如何强制Haxe编译器使用require语句
- jquery if语句返回return wong语句
- 函数在return语句之前返回空对象
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 如何知道javascript for语句中的所有结果是否都是错误的
- 关于 JavaScript 中函数语句的推理
- 绑定函数的返回语句中参数的推理是什么