查询函数foo在指定输入参数下的返回结果
函数
foo的输入返回值分析 先来看一下要分析的函数代码:
function foo(input) { var output = "intet match!"; if (input.length <= 5) { output = input; } else if (input.length < 12) { output = input + "#" + input; } else if (input == 'anders') { output = "[" + input + "]"; } return output; }
这个函数是按从上到下的优先级判断分支的,默认返回"intet match!",下面逐个拆解给定输入的返回结果:
- Peter:字符串长度为5,触发第一个条件
input.length <= 5,返回值为Peter - Pedal:字符串长度为5,同样满足第一个条件,返回值为
Pedal - Rub:字符串长度为3,符合第一个条件,返回值为
Rub - Gummi:字符串长度为5,满足第一个条件,返回值为
Gummi - Tarzan:字符串长度为6,不满足第一个条件但符合第二个条件
input.length < 12,返回值为Tarzan#Tarzan - Anders:字符串长度为6,不满足第一个条件但触发第二个条件;注意第三个分支判断的是小写的
'anders',而输入是首字母大写的Anders,所以不会走到这个分支,返回值为Anders#Anders
内容的提问来源于stack exchange,提问作者Maria Vissing Bachara
相关产品推荐
相关产品推荐

