这是我的代码:
var emptyFunction = function () {};
console.log(emptyFunction === function () {});
Run Code Online (Sandbox Code Playgroud)
这将登录false控制台.为什么?
因为函数表达式在执行时会生成一个新的函数对象.
=== 仅当两个操作数是同一个对象时才返回true.
从规范(强调我的):
生成FunctionExpression:function(FormalParameterListopt){FunctionBody}的计算方法如下:1.返回创建一个新的Function对象的结果,该对象在13.2中指定,其中的参数由FormalParameterListopt和FunctionBody指定的body指定.将正在运行的执行上下文的LexicalEnvironment作为Scope传递.如果FunctionExpression包含在严格代码中或者其FunctionBody是严格代码,则传入true作为Strict标志.
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |