函数标题变量
Function title var
我写了一个代码来查找两个字符串,在 return 它应该告诉我这两个字符串是否存在:
function searchTwoString(data, str1, str2) {
var strX = str1 + " " + strValueX + "\r\n";
var strY = str2 + " " + strValueY;
var strValueX;
var strValueY;
for (var i = 0; i < data.length; i++) {
if (data[i] === str1) {
var strValueX = " exist";
continue;
} else if (data[i] === str2) {
var strValueY = " exist";
break;
}
}
return strX + strY;
}
取得的成果:
str1 undefined
str2 undefined
预期结果:
str1 exist
str2 exist
它告诉我我的 strvalueX
和 strvalueY
是 undefined
是不是我已经在 if 语句中给出了值?
感谢那些愿意提供帮助的人
你的陈述顺序错了。在第 2 行和第 3 行中,您在定义 strValueX
和 strValueY
之前使用它们。第 2 行和第 3 行应移至 return 之前,以便它们具有更新后的值。
我相信还有一个阴影问题,因为在 if 语句中,您正在使用 var
关键字(例如 var strValueX = " exist";
)创建新变量。您需要从 if 语句中删除 var
以便它更新外部变量的值。
这是对您的问题的回答和评论。
希望你明白我在说什么。
function searchTwoString(data, str1, str2) {
var strX;// = str1 + " " + strValueX + "\r\n";
var strY;// = str2 + " " + strValueY;
var strValueX;
var strValueY;
for (var i = 0; i < data.length; i++) {
if (data[i] === str1) {
// var strValueX = " exist";
// do not define again
strValueX = " exist";
continue;
} else if (data[i] === str2) {
// var strValueY = " exist";
// do not define again
strValueY = " exist";
break;
}
}
// define the value here after strValueX and strValueY is set
strX = str1 + " " + strValueX + "\r\n";
strY = str2 + " " + strValueY;
return strX + strY;
}
我写了一个代码来查找两个字符串,在 return 它应该告诉我这两个字符串是否存在:
function searchTwoString(data, str1, str2) {
var strX = str1 + " " + strValueX + "\r\n";
var strY = str2 + " " + strValueY;
var strValueX;
var strValueY;
for (var i = 0; i < data.length; i++) {
if (data[i] === str1) {
var strValueX = " exist";
continue;
} else if (data[i] === str2) {
var strValueY = " exist";
break;
}
}
return strX + strY;
}
取得的成果:
str1 undefined
str2 undefined
预期结果:
str1 exist
str2 exist
它告诉我我的 strvalueX
和 strvalueY
是 undefined
是不是我已经在 if 语句中给出了值?
感谢那些愿意提供帮助的人
你的陈述顺序错了。在第 2 行和第 3 行中,您在定义 strValueX
和 strValueY
之前使用它们。第 2 行和第 3 行应移至 return 之前,以便它们具有更新后的值。
我相信还有一个阴影问题,因为在 if 语句中,您正在使用 var
关键字(例如 var strValueX = " exist";
)创建新变量。您需要从 if 语句中删除 var
以便它更新外部变量的值。
这是对您的问题的回答和评论。
希望你明白我在说什么。
function searchTwoString(data, str1, str2) {
var strX;// = str1 + " " + strValueX + "\r\n";
var strY;// = str2 + " " + strValueY;
var strValueX;
var strValueY;
for (var i = 0; i < data.length; i++) {
if (data[i] === str1) {
// var strValueX = " exist";
// do not define again
strValueX = " exist";
continue;
} else if (data[i] === str2) {
// var strValueY = " exist";
// do not define again
strValueY = " exist";
break;
}
}
// define the value here after strValueX and strValueY is set
strX = str1 + " " + strValueX + "\r\n";
strY = str2 + " " + strValueY;
return strX + strY;
}