Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 生成一个文本以将成员作为变量应用于函数中_Javascript_Extjs4 - Fatal编程技术网

Javascript 生成一个文本以将成员作为变量应用于函数中

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,

Im将文本作为配置对象传递给函数,如:

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