【发布时间】:2015-02-18 19:06:18
【问题描述】:
虽然 Stackexchange Meta 禁止我以“嗨”开头,但我认为友好并没有实质性的危害。
嗨,
我使用下面这段代码,
while (!success) {
new Magister(chosenSchool, username, password).ready(function(error){
/* Code here using the error variable above */
});
}
但是 JSLint 警告我,在循环中定义函数是一种不好的做法。
但是,使用以下代码也不起作用。
function checkLogin(error) {
/* Code here using the error variable above */
}
while (!success) {
new Magister(chosenSchool, username, password).ready(checkLogin(error));
}
这导致Uncaught ReferenceError: error is not defined。我怎样才能不重新定义函数,但仍像原来的 function(error){...} 一样传递 error?
我尝试了各种方法,但对我来说都不会让步。
提前致谢!
【问题讨论】:
-
while (!success)听起来是个非常糟糕的主意。 -
@Bergi 哦,我认为我不会真正使用它,我只会发出一次警告并取消操作并等待用户开始的新呼叫.. 但是,我仍然'想知道我的问题的答案:]
标签: javascript function parameters parameter-passing referenceerror