Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;“未定义”不是一个函数;发生以下情况时出错';已定义引用的_Javascript_Angularjs - Fatal编程技术网

Javascript &引用;“未定义”不是一个函数;发生以下情况时出错';已定义引用的

Javascript &引用;“未定义”不是一个函数;发生以下情况时出错';已定义引用的,javascript,angularjs,Javascript,Angularjs,我一直在试图弄明白为什么我的代码中的这一行总是说“undefined不是一个函数” 我只是搞不清楚为什么它会显示错误,而按位选择的结果显然是一个函数。我知道我可以检查是否定义了compileStrategies[tAttr.bsFormItem],然后调用它,但这个问题确实困扰着我。如果有人能揭开这个谜团,我会非常感激 更新: 另一个奇怪的现象是,当您将调用分配给变量或返回它时,它不再显示“undefined is not a function”错误 e、 g 或 由于相关语句以paren开头,

我一直在试图弄明白为什么我的代码中的这一行总是说“undefined不是一个函数”

我只是搞不清楚为什么它会显示错误,而按位选择的结果显然是一个函数。我知道我可以检查是否定义了
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)