因为我写的js在系统中被try-catch包裹起来了,所以代码类似如下:
try{
var a = alertA();
function alertA(){
alert("A");
};
}catch(e){
console.log(e);
}
正是因为加了try-catch块,alertA() 在该版本浏览器中无法被之前的代码块解析,报错如下:
ReferenceError: alertA is not defined
但是这个代码在别的浏览器或者是版本较新的Firefox中都没有问题。
为了避免这个问题,最终我将代码中function的声明都提到了开头,所有引用部分移至function声明之后,问题得以解决。