Javascript &引用;“未定义”不是一个函数;发生以下情况时出错';已定义引用的
我一直在试图弄明白为什么我的代码中的这一行总是说“undefined不是一个函数” 我只是搞不清楚为什么它会显示错误,而按位选择的结果显然是一个函数。我知道我可以检查是否定义了Javascript &引用;“未定义”不是一个函数;发生以下情况时出错';已定义引用的,javascript,angularjs,Javascript,Angularjs,我一直在试图弄明白为什么我的代码中的这一行总是说“undefined不是一个函数” 我只是搞不清楚为什么它会显示错误,而按位选择的结果显然是一个函数。我知道我可以检查是否定义了compileStrategies[tAttr.bsFormItem],然后调用它,但这个问题确实困扰着我。如果有人能揭开这个谜团,我会非常感激 更新: 另一个奇怪的现象是,当您将调用分配给变量或返回它时,它不再显示“undefined is not a function”错误 e、 g 或 由于相关语句以paren开头,
compileStrategies[tAttr.bsFormItem]
,然后调用它,但这个问题确实困扰着我。如果有人能揭开这个谜团,我会非常感激
更新:
另一个奇怪的现象是,当您将调用分配给变量或返回它时,它不再显示“undefined is not a function”错误
e、 g
或
由于相关语句以paren开头,因此需要以分号结尾。你在你的车里还没有这样做。只需在前面的语句中添加分号,您将不会看到错误:
tElem.addClass('form-control');
(compileStrategies[tAttr.bsFormItem] || noop).apply(this, arguments)
谢谢。。5分钟前我就知道了,我读过一篇关于javascript中自动插入分号的解释@。
var fn = (compileStrategies[tAttr.bsFormItem] || noop).apply(this, arguments)
return (compileStrategies[tAttr.bsFormItem] || noop).apply(this, arguments)
tElem.addClass('form-control');
(compileStrategies[tAttr.bsFormItem] || noop).apply(this, arguments)