我更改了地方函数,以便调用者在调用之前,会发生错误。
这个 Angular 色能说什么?也许一公里之外的某个地方没有封闭?
UPD:例如,如果我将第一个字符串放在末尾,它的代码可以正常工作:
SCRIPT5022:传递一个返回 dependentObservable 值的函数 Knockout-2.0.0.debug.js,第 1054 行字符 9
osagoViewModel.fields.yearsBoxes = new field("Years", yearsBoxesFunc, null, osagoViewModel);
function yearsBox() {
this.year = new field("Years", function () { return ["1 year", "2 years", "3 years", "4 years", "5 years", "6 years", "7 years", "8 years", "9 years", "10 years"]; }, null, osagoViewModel);
}
var yearsBoxesFunc = function () {
var yearsBoxCount = osagoViewModel.fields.driversCount.selectedValue();
var retArrFunc = function (count) {
var arr = [];
for (var i = 0; i < count; i++) {
arr.push(new yearsBox());
}
return arr;
};
switch (yearsBoxCount) {
case "many":
return retArrFunc(0);
case "1":
return retArrFunc(1);
case "2":
return retArrFunc(2);
case "3":
return retArrFunc(3);
case "4":
return retArrFunc(4);
case "5":
return retArrFunc(5);
}
}
最佳答案
打开控制台并让它在出现错误时停止。在堆栈跟踪中,您将看到在不使用函数作为参数的情况下调用 Knockout.js 函数的位置。
要了解函数解析及其在当前范围内的可用性,请阅读 What is the difference between a function expression vs declaration in JavaScript?和/或 var functionName = function() {} vs function functionName() {} .
关于javascript - 如果发生更改代码错误的顺序意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10551697/