Javascript-为什么我的值在作为参数通过函数传递时未定义

Javascript-为什么我的值在作为参数通过函数传递时未定义,javascript,parameters,arguments,undefined,Javascript,Parameters,Arguments,Undefined,我编写了一个函数,在输入邮政编码时调用ZipCodeAPI来检索地址。(注意:这是一个荷兰申请,荷兰zipcode由4个数字和2个字母组成。) 这就是功能: function zipcodeApiCall(zipcodeNum, zipcodeAlfa) { console.log(zipcodeNum); if(zipcodeNum.length == 4 && zipcodeAlfa.length == 2) { //some code

我编写了一个函数,在输入邮政编码时调用ZipCodeAPI来检索地址。(注意:这是一个荷兰申请,荷兰zipcode由4个数字和2个字母组成。)

这就是功能:

function zipcodeApiCall(zipcodeNum, zipcodeAlfa)
{
    console.log(zipcodeNum);
    if(zipcodeNum.length == 4 && zipcodeAlfa.length == 2)
    {
        //some code to call the API that returns some data
    }
}

//Call the function
var zipcodeNum = $("#zipcodeNum").val(); //Retrieve val from input field
var result = zipcodeApiCall(zipcodeNum, 'KK');
问题是,我得到了一个错误,即在检索zipcodeNum的长度时,zipcodeNum未定义。输出:

console.log(zipcodeNum);
对于zipcode编号1312,有两行:

1312
undefined
这给了我一个错误“UncaughtTypeError:无法读取未定义的属性”length“。为什么会发生这种情况

同样奇怪的是,当我在函数中检索zipcodeNum的值时,如下所示:

function zipcodeApiCall()
{
    var zipcodeNum = $("#zipcodeNum").val(); //Retrieve val from input field
    var zipcodeAlfa = 'KK';
    console.log(zipcodeNum);
    if(zipcodeNum.length == 4 && zipcodeAlfa.length == 2)
    {
        //some code to call the API that returns some data
    }
}
var result = zipcodeApiCall();

代码执行得很好,我没有收到任何错误

函数的实际调用在哪里?听起来好像未定义的代码实际上正在被传递。代码笔/plunkr等会很有用。告诉我们您在哪里调用
zipcodeApiCall
。对不起,我忘了添加那一行,我现在编辑了我的代码。第二行console.log来自哪里?您的代码中只显示了一个。因此
$(“#zipcodeNum”).val()
正在生成
未定义的
?听起来像是复制品