我有一个这种形式的功能:
function main () {
if(!false){
if(document.addEventListener){
document.addEventListener("touchstart", do_something);
document.addEventListener("click", do_something);
}
function do_something(){
//doing something here
}
}
}
我的问题是在firefox中(但不是在chrome或safari中),监听器会抛出错误:ReferenceError: do_something is not defined
我认为在执行之前总是读取该表单中定义的函数,并且在执行时读取定义为var do_something(){}
的函数。
这是对的吗?为什么这只发生在Firefox上?
编辑:更多信息:如果我在if之前使用它,则该功能正常工作并且没有显示错误