Js 新手,抱歉,如果这是一个显而易见的问题。
我的代码中有一些与变量名称相对应的字符串。我想将它们放入一个函数中,并使该函数能够更改与字符串同名的变量。
最好的例子是这个“字符串”是从 html 中的数据标签传递的,但我在其他一些情况下也会出现此问题。愿意改变我的整个方法也是我的问题是倒退的前提。
<html>
<div data-location="deck" onClick="moveCards(this.data-location);">
</html>
var deck = ["card"];
function moveCards(location){
location.shift();};
谢谢!
最佳答案
脚本不应依赖于独立变量的名称;这可能会破坏某些引擎优化和缩小。此外,内联处理程序几乎普遍被认为是非常糟糕的做法 - 请考虑使用 Javascript 正确添加事件监听器。这也将使您完全避免动态变量名称的问题。例如:
const deck = ["card", "card", "card"];
document.querySelector('div[data-location="deck"]').addEventListener('click', () => {
deck.shift();
console.log('deck now has:', deck.length + ' elements');
});
<div data-location="deck">click</div>
关于javascript - 尝试创建一个将变量名称作为字符串接收的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57831083/