Javascript-为什么我的值在作为参数通过函数传递时未定义
我编写了一个函数,在输入邮政编码时调用ZipCodeAPI来检索地址。(注意:这是一个荷兰申请,荷兰zipcode由4个数字和2个字母组成。) 这就是功能: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
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()
正在生成未定义的?听起来像是复制品