我有一个使用函数生成器(function*()
)的javascript代码。如你所知,IE不支持这些功能,我特别使用IE的另一种方式,并使用这样的代码:
if (false || !!document.documentMode){ //IE browser
//do for IE
}
else {
function*(){
//do for other browsers
}
}
但在IE浏览器中,浏览器出现语法错误,页面不起作用!我甚至使用try-catch
但没有用。
我该如何处理这个问题?
感谢。
答案 0 :(得分:1)
else
语句中的代码仍然被解释,即使它不会在该浏览器上运行。
这意味着它不能包含语法错误。
对于IE,function*
是语法错误
try-catch
块不会捕获语法错误,因为如果存在语法错误,则不会执行代码。
基本上,如果你想支持IE,文件不能包含function*