在if语句头声明的函数之后是未定义的
Function declared in the header of an if statement is undefined afterwards
为什么typeof f
是"undefined"
?不应该是"function"
吗?
var x;
if (function f(){}) {
x = typeof f;
}
console.log(x); // "undefined"
编辑:我为我的快速回答道歉,我没有读好这个问题。
但我知道这里发生了什么,因为函数的范围无法访问f
的函数声明,typeof f
是undefined
和x += typeof f
将字符串"未定义"连接到x
的值(这是1)。因此,您将1undefined
作为x
相关文章:
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 在包含tx.executeSql的每个函数之后显示警报
- 在每个函数之后运行一个函数
- 如何在调用去抖函数之后和执行之前取消该函数
- 阻止页面在jQuery函数之后重新加载或向上移动
- 如何在函数之后编辑它's已创建
- 在定义了构造函数之后,是否可以将实例属性添加到JavaScript原型中
- JS-强制函数在其他函数之后运行
- jquery .each 函数之后不执行任何代码
- 在函数之后找不到/未定义类名
- 如何在 Javascript 中使一组函数在另一组函数之后出现
- 在 JavaScript 函数之后保留原始数组
- 在 Ajax 函数之后 JavaScript 不起作用
- 在构造函数之后运行其他操作
- 聚合物在我的自定义函数之后注册所有元素
- 两个异步函数之后的回调
- 在完成函数之后再次调用 ajax 函数
- JQueryload()函数之后,JavaScript的其余部分停止工作
- 如何确保一个函数在另一个函数之后获得触发器
- 在其他函数之后从url中删除查询字符串