BackBoneJS:为什么Internet Explorer不接受函数的默认参数?

4bbkushb  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(163)

我在我的应用程序中使用BackboneJS。下面的代码在谷歌浏览器上工作,但在IE(版本10)中,它在函数参数中给出语法错误:

Syntax Error: Expected ')'

下面是我的代码:

initialize: function (options='default value') {
    console.log(options) 
},

我已经通过使用默认参数函数中的if-else条件处理了它,但我无法理解为什么它在chrome中工作,而在IE 10中不工作?

rmbxnbpk

rmbxnbpk1#

在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.');
  }
});

但同样的逻辑也适用于视图。

相关问题