(如果任何了解这种现象的人对标题有更好的了解,请编辑)
我以为我理解了这一点,但事实证明我错过了一些东西。我得到了Uncaught ReferenceError: refreshAtEndOfProgress is not defined
。如果函数及其引用位于不同的<script>
块中:
以下代码位于一个网页中:
<script>
// Note: I am passing the function itself (not calling it) is intentional, it's a callback
// Got 'Uncaught ReferenceError: refreshAtEndOfProgress is not defined' in the following line:
var someVariable = new SomeMyObject(refreshAtEndOfProgress);
</script>
<script>
function refreshAtEndOfProgress() {
$('#grid').data('kendoGrid').dataSource.read();
$('#grid').data('kendoGrid').refresh();
}
</script>
但是如果函数及其引用在同一个脚本块中,那么一切正常,没有错误消息:
<script>
// No error this case:
var someVariable = new SomeMyObject(refreshAtEndOfProgress);
function refreshAtEndOfProgress() {
$('#grid').data('kendoGrid').dataSource.read();
$('#grid').data('kendoGrid').refresh();
}
</script>
我虽然代码在相同或不同的<script>
块内并不重要......显然我错过了一些东西。