При вызове функции Javascript кажется, что JS сначала отдает приоритет функциям без параметров, даже если у меня такое же имя функции с параметрами.
Странное поведение происходит только в следующем сценарии:
У меня есть HTML-страница со встроенным Javascript, например:
//Javascript in the page
function testAbc(){
alert('testAbc no params');
}
//Javascript in common.js
function testAbc(x){
alert('testAbc with param:'+x);
}
function testAbcFunc(x){
testAbc(x);
}
Теперь откуда-то на странице я звоню testAbcFunc
из common.js, ожидая, что он вызовет testAbc
с параметром, который является общей функцией. Но как ни странно, JS вызывает функцию на исходной странице без параметров !!
Я отлаживал эту ошибку несколько часов назад, и я попробовал этот короткий код, чтобы воспроизвести ошибку, это происходит каждый раз.
ПРИМЕЧАНИЕ: если все функции находятся на одной странице, будет вызвана правильная функция (с параметрами), но когда они разделены между страницей и файлом JS. JS, кажется, отдает приоритет функции на странице , хотя у нее нет параметра