Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript无法从给定参数中获取正确的变量值_Javascript_Variables_Arguments - Fatal编程技术网

javascript无法从给定参数中获取正确的变量值

javascript无法从给定参数中获取正确的变量值,javascript,variables,arguments,Javascript,Variables,Arguments,嗨 我有这个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>

我有这个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>
mycode(“日期1”);
它不起作用,因为我得到的只是“date1”,而不是变量的值,它应该是“feb-9”


我做错了什么?

这样就不能创建动态变量。使用一个对象。然后您可以对变量属性名称使用
[]
符号

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

这样就不能创建动态变量。使用一个对象。然后您可以对变量属性名称使用
[]
符号

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

您只是在打印字符串

试试这个

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");

您只是在打印字符串

试试这个

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");

您的调用和被调用函数不一样抱歉,我已经更正了。为什么有
date1
3次?另外,您收到的是变量名的字符串表示形式,您需要变量值。您考虑过使用数组吗?这样你就不需要“date1”,只需要0答案已经给出了,谢谢你。你的调用和被调用函数是不同的。对不起,我更正了。为什么你有
date1
3次?另外,您收到的是变量名的字符串表示形式,您需要变量值。您考虑过使用数组吗?这样你就不需要“约会1”,只需要0答案已经给出了,无论如何谢谢。谢谢,那是最好的答案。谢谢,那是最好的答案。