我在我的应用中使用BackboneJS。下面的代码适用于谷歌浏览器,但在IE(版本10)中,它在函数参数中提供了语法错误:
Syntax Error: Expected ')'
以下是我的代码:
initialize: function (options='default value') {
console.log(options)
},
我已经通过在默认参数的函数中使用if-else条件来处理它,但是我无法理解为什么它在chrome中工作而不在IE 10中?
答案 0 :(得分:0)
它在IE中并不像那样工作。请参阅this,以及检查ES6兼容性检查this
因此,鉴于上述结果,您可以检查旧代码,然后针对不受支持的浏览器编写类似这样的内容:
var MyPerson = Backbone.Model.extend({
defaults : {
fname : "John",
lname : "Smith",
totalSales : "0"
},
initialize: function(options) {
options = options || "default options";
console.log('A model instance named: ' + this.get("fname") + ' ' + this.get("lname") + ' was created.');
}
});
但同样的逻辑也适用于观点。