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

时间:2017-10-30 07:39:54

标签: javascript internet-explorer backbone.js

我在我的应用中使用BackboneJS。下面的代码适用于谷歌浏览器,但在IE(版本10)中,它在函数参数中提供了语法错误:

Syntax Error: Expected ')'

以下是我的代码:

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

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

1 个答案:

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

但同样的逻辑也适用于观点。