我有一个包含变量和函数/方法(?)的对象构造函数。我有几个对象,每个对象都使用以下方法调用(每个对象的ID和项目号更改):
document.getElementById("item1").addEventListener("click", item1.apply);
对象名称和ID相同,运行该函数时,该值也会添加到本地存储中。理论上,我想获取该值并在页面重新加载时使用它来生成/运行相同的函数(如onclick所称)。
这听起来很简单,我认为连接可能会这样做。我可以[value] + [.apply();]来获取“item1.apply();”在控制台中,但我无法让浏览器识别/运行它作为一个功能。
在此之前被标记为重复的问题,重新创建动态函数等 - 我发现的大多数线程似乎比我需要的复杂得多。我曾尝试与他们合作,但我无处可去。我没有包含更多代码,因为我不想让看起来像是一个相对简单的问题复杂化; onload获取值,添加到函数调用,运行。也许有一个简单的解决方案,我没有看到(新手是一个'全部)?
如果没有,我希望有人可以指出我正确的方向,因为我被卡住了......
提前致谢!
工作代码:
var itemsArray = ["item1", "item2", "item3"];
var currentItem = localStorage.getItem("current", this.value);
if(localStorage.getItem("current") !== null) { // check if local storage item exists
function isMatch(value, index, array) { // run current item thru isMatch
return value == currentItem; // check if returned value matches currentItem
}
var result = itemsArray.filter(isMatch); // this will be the matching item in itemsArray
window[result]["applyIt"](); // use the result to concatenate function call
console.log("show me: " + result[0]); // create a string with it
};
答案 0 :(得分:2)
根据您的问题,您可以尝试这样做:
import pandas as pd
transactionsFileName = "transactions4.csv"
df = pd.read_csv(transactionsFileName)
print(df.to_string())
在你的情况下:
window[value][apply]();
window["item1"]["apply"]()
是全局范围内的函数,而item1
只是apply
。