我使用过很多次JAVA,但以前从未使用过Javascript。我尝试了解它,现在这些功能有问题。功能相同但结果不同。此行之间的功能之间唯一的区别:Fragment
在return joe;
函数中,此代码位于“循环”外部,而在"rowSearch()"
函数中,此代码位于“循环”内部。
如果我调用rowSearch2(),则JOE变量每次都具有返回值,但是当我调用rowSearch()函数时,有时没有任何返回值。也许我错过了,或者我做错了什么,但我看不到。
非常感谢您。
"rowSearch2()"
我想在表中找到一个值(srch输入)。如果在表中,那么我将调用具有JOE值的函数,否则调用其他函数。
答案 0 :(得分:0)
正如@randomSoul已经提到的那样,这两个函数并不相等,但据我所知,JAVA在这里的行为相同。
函数内部某处的return
语句立即停止该函数并返回值;甚至在循环内。
所以,您的两个功能都是伪代码
function rowSearch() {
if the `innerHTML` of the first cell in **any row (except the first)** of the table equals `srch`
then return 0
else return 1
}
我假设第一行是您的表头
和
function rowSearch2() {
if the table has at least two rows
then if the `innerHTML` of the first cell in **the second row** of the table equals `srch`
then return 0
else return 1
else return undefined
}
这里JS和Java之间的唯一区别是,在没有行的情况下,JS rowSearch2
会隐式return undefined
,而Java会抛出错误。
甚至可能没有编译,因为不是函数的每个路径都返回一个值。 Java不喜欢这种含糊不清;)