【问题标题】:javascript cant get the right variable value from a given argumentjavascript 无法从给定的参数中获取正确的变量值
【发布时间】:2016-04-24 12:48:21
【问题描述】:

嗨,

我有这个 JavaScript 代码

function mycode(con) {
 var date1="feb-9";
 var date2="feb-11";
 var date3="feb-20";
 var getdate = con;
    document.write(getdate);

}

此代码应该根据给定的参数显示特定日期,如下所示:

<script type="text/JavaScript">mycode("date1");</script>

它不起作用,因为我得到的只是“date1”,而不是应该是“feb-9”的变量的值。

我做错了什么?

【问题讨论】:

  • 你的调用函数和被调用函数不一样
  • 抱歉,我更正了。
  • 为什么你有date1 3次?此外,您收到的是变量名称的字符串表示形式,并且您需要变量值。
  • 您是否考虑过使用数组来代替?这样你就不需要“date1”,只需要 0
  • 答案已经给出,还是谢谢你。

标签: javascript variables arguments


【解决方案1】:

你只是打印字符串

试试这个

function mycode(con) {
var date ={
 'date1': "feb-9",
 'date2': "feb-11"
}
var getdate = "not found";
    for( var k in date){
    if(k == con){
        getdate = date[k]
    }
  }     
  alert(getdate);  
}
mycode("date1");

https://jsfiddle.net/

【讨论】:

    【解决方案2】:

    您不能以这种方式创建动态变量。使用一个对象。然后你可以对变量属性名使用[] 表示法

    function mycode(con) {
        var dates = {
            date1: "feb-9",
            date2: "feb-11",
            date3: "feb-20"
        };
        alert(dates[con]);    
    }
    

    【讨论】:

    • 谢谢,这是最好的答案。
    猜你喜欢
    • 2018-07-21
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 1970-01-01
    • 2016-09-30
    • 2019-07-23
    相关资源
    最近更新 更多