下面的代码在除IE11以外的所有浏览器中都运行良好。 在IE11中,它会抛出错误,Expected ':'
如果必须在每个键后使用:
,如何将变量传递到工厂函数中? 非常感谢!
'use strict';
var factoryCreature, zombie;
factoryCreature = function(species, actionOne, actionTwo) {
return {
species,
actionOne,
actionTwo,
creatureStory() {
console.log('The ' +this.species +' is about to ' +this.actionOne +' and ' +this.actionTwo +'.');
}
}
}
zombie = factoryCreature('Zombie', 'charge', 'bite');
zombie.creatureStory();
IE11没有完整的ES6支持。专门用于对象文字速记。http://kangax.github.io/compat-table/es6/#test-object_literal_extensions
具体来说,我会切换到长手。
{ a:a, b:b}
好吧,
不要使用 ES6 对象表示法:
return {
species: species,
actionOne: actionOne,
actionTwo: actionTow,
creatureStory: function() {
console.log('The ' +this.species +' is about to ' +this.actionOne +' and ' +this.actionTwo +'.');
}
}
你可以使用 babel 或类似的 sth 来自动化此操作。