我正在为 AMD 创建一个使用 require.js 的主干.js 应用程序。为了检查use strict
浏览器中的支持,我包含了以下代码。但是,当代码运行时,抛出的错误var o = {p:1, P:2}
并没有像我预期的那样被捕获,而是杀死了整个页面。
Chrome 控制台打印此错误:Uncaught SyntaxError: Duplicate data property in object literal not allowed in strict mode
require([
'jquery',
'underscore',
'backbone',
'src/app'
], function(jQuery, _, Backbone, App){
"use strict"
var tooOld = true,
isStrictMode = function () {
try{
var o = {p:1, p:2};
} catch (e) {
tooOld = false;
new App;
} finally {
if (tooOld) {
// Display some message
}
}
}();
});
为什么错误使我的页面崩溃而不是被捕获?我怎样才能解决这个问题?