gpt4 book ai didi

Javascript - 每次调用函数时创建新变量

转载 作者:行者123 更新时间:2023-12-03 11:08:09 24 4
gpt4 key购买 nike

我想要做的是每次调用函数 loadGrid 时创建一个新变量。在下面的函数中,本例中的变量为 datagrid。我想要这样做的原因是因为我将创建多个表对象,并且每个表对象都需要自己的引用变量来调用诸如 filter 之类的函数。

我在这里研究了这个解决方案:Convert string to variable name in Javascript 。然而,评论指出这不是 Javascript 的最佳实践。对于我想要实现的目标,有更好的解决方案吗?

var loadGrid = function(dbTableName) {

$('#'+dbTableName).on('click', function(e){

$('#tables').find('.active').toggleClass('active');
$(this).toggleClass('active');

DatabaseGrid.prototype.fetchGrid = function() {
// call the PHP script to get the data
this.editableGrid.loadJSON("loaddatacustomers.php?db_tablename=" + dbTableName);
};

var datagrid = new DatabaseGrid();

$("#filter").keyup(function() {
datagrid.editableGrid.filter( $(this).val());
});

e.preventDefault();
});
}

最佳答案

您可以创建一个包含所有数据网格的数组!

datagridSet = [];
loadGrid = function(dbTableName){
(..)
var datagrid = new DatabaseGrid();
datagridSet.push(datagrid);
(..)
}

您可以通过Array[index] 表示法访问每个数据网格:)

此外,全局变量并不是一个好主意,因为您可以创建自己的伪命名空间。

GridStuff = {
datagridSet:[],
loadGrid:function(dbTableName){
(..)
var datagrid = new DatabaseGrid();
this.datagridSet.push(datagrid);
(..)
}
}

希望对你有帮助,新年快乐!

关于Javascript - 每次调用函数时创建新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27737533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com