首页 > 解决方案 > 如何基于字符串变量表示访问函数内部的变量

问题描述

我有以下功能

function myFunction(){
var foo="My Foo String";
}

我想通过以下方式访问我的变量

function myFunction(){
var foo="My Foo String";
console.log(SOMETHINGIDONOTKNOWABOUT["foo"]);
}

我知道在 javascript 中可以使用 window["yourvariablename"] 来访问它,但是我有兴趣以类似的方式访问函数变量,因此 有没有办法使用包含变量名称的字符串来访问 javascript 变量? 不是重复的。Eval 对我来说不是正确的答案。

标签: javascriptnode.js

解决方案


不要这样做。动态变量对于浏览器的调试和优化来说真的很烦人。

使用集合、映射、为它创建一个类,甚至是一个简单的对象来存储您希望能够通过字符串访问的内容。

function myFunction() {
    var myData = {
        "foo": "My foo string"
    };
    console.log( myData[ "foo" ] );
}

推荐阅读