gpt4 book ai didi

JavaScript:是否可以迭代您自己的变量?

转载 作者:行者123 更新时间:2023-12-02 16:47:21 27 4
gpt4 key购买 nike

是否可以实现“迭代”函数(如下),该函数迭代其自己的变量,但不使用已弃用的 JavaScript 功能?

(function () {
var a = 1;
var b = 2;
var iterate = function () {
var k;
for (k in this) { //WRONG IMPLEMENTATION!
alert(this[k]);
// a
// b
// iterate
}
};
}).call(this);

我在“iterate”中设置了一个断点,并在调试器中进行了探索,但无法弄清楚如何访问其他变量名称。此外,在进行了数十次 Google 搜索后,我仍然无法找到答案,因为搜索结果通常涉及外部而不是内部视角。

更新:我对属性和变量感到困惑。在编辑之前,最初的问题是询问有关迭代属性的问题。我现在意识到这些都是变量。

最佳答案

没有。除了可怕的 eval 黑客攻击之外,您无法以动态方式访问除全局范围(window)或对象范围(this)之外的任何范围内的变量.

但你不需要!如果您想要动态访问这些变量,请将它们存储在一个对象中:

var data = {
a: 1,
b: 2
};

关于JavaScript:是否可以迭代您自己的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27006545/

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