Javascript 生成一个文本以将成员作为变量应用于函数中
Im将文本作为配置对象传递给函数,如:Javascript 生成一个文本以将成员作为变量应用于函数中,javascript,extjs4,Javascript,Extjs4,Im将文本作为配置对象传递给函数,如: configureGrid: function (config) { var editable = config.editable, dbName = config.dbName, tableName = config.tableName, grid = config.grid, callback = config.callback; var storeFields,
configureGrid: function (config) {
var editable = config.editable,
dbName = config.dbName,
tableName = config.tableName,
grid = config.grid,
callback = config.callback;
var storeFields,
gridColumns,
store;
if (editable) {
this.makeGridEditable(grid);
}
...
现在,我想知道是否有更好的方法获取配置对象的每个成员并将其定义为函数中的变量
我知道我可以将成员引用为config.memberName,但为了清楚起见,我不希望这样。我觉得您可能想使用带有功能的JavaScript
我在Firebug中进行了如下测试:
var stuff = {
a: 'apple',
b: 'banana',
c: 'crepe',
d: 'dinosaur'
};
with (stuff) {
alert(b + ' ' + c); // alerts "banana crepe"
}
这并不是推荐使用的功能,但您可以在此处了解更多信息:我想您必须手动操作。没有动态方法在函数中设置变量,因为您无法访问其范围对象。您可以使用window.memberName
为全局变量设置变量,但不能为函数设置变量。为什么需要每个变量作为变量this.makeGridEditable(config.grid)
FYI,在ECMAScript 6中,您可以使用解构赋值。现在可以在Firefox中使用var{editable,dbName,tableName,grid,callback}=config代码>如果属性名称与属性名称不同,则需要在声明语法中指定它们<代码>变量{可编辑:foo,dbName:bar…}=config代码>