Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript if语句中的返回函数未执行_Javascript_String - Fatal编程技术网

Javascript if语句中的返回函数未执行

Javascript if语句中的返回函数未执行,javascript,string,Javascript,String,嘿,我在写一个函数,检查一系列大括号是否是有效序列。我有下面的代码,它主要做我希望它做的事情,除了它总是返回false。如果我输入一个有效的大括号序列,它将在right If语句中结束,但永远不会返回true。我不明白为什么 功能匹配{ 如果(s==='('){ 返回“')” } 如果(s=='['),则为else{ 返回']' } else如果(s=='{'){ 返回“}” } } 功能开放(b){ 如果((b=='(')| |(b=='[')| |(b=='{')){ 返回true; }

嘿,我在写一个函数,检查一系列大括号是否是有效序列。我有下面的代码,它主要做我希望它做的事情,除了它总是返回false。如果我输入一个有效的大括号序列,它将在right If语句中结束,但永远不会返回true。我不明白为什么

功能匹配{
如果(s==='('){
返回“')”
}
如果(s=='['),则为else{
返回']'
}
else如果(s=='{'){
返回“}”
}
}
功能开放(b){
如果((b=='(')| |(b=='[')| |(b=='{')){
返回true;
}
返回false;
}
函数checkValid(字符串、临时值、n){
var电流=字符串。字符(n)
var currentMatch=温度特征(0)
如果(!(当前)和(&(n==string.length)和(&(temp==“”)){
console.log('hey')
返回真值
}
如果(打开(当前)){
温度=匹配(当前)。混凝土(温度)
checkValid(字符串,临时,n+1)
}
否则{
如果(当前===当前匹配){
温度=温度子项(1)
checkValid(字符串,临时,n+1)
}
返回false;
}
返回false;
}
函数validBraces(大括号){
var n=0
变量温度=“”
返回检查有效(大括号,临时,n)
}
validBraces(“()”)//应返回true

validBraces('[)}}{')//应该返回false
最后一次返回false总是从原始的checkValid函数调用返回的

这是因为您没有返回递归checkValid调用

功能匹配{
如果(s==='('){
返回“')”
}
如果(s=='['),则为else{
返回']'
}
else如果(s=='{'){
返回“}”
}
}
功能开放(b){
如果((b=='(')| |(b=='[')| |(b=='{')){
返回true;
}
返回false;
}
函数checkValid(字符串、临时值、n){
var电流=字符串。字符(n)
var currentMatch=温度特征(0)
如果(!(当前)和(&(n==string.length)和(&(temp==“”)){
console.log('hey')
返回真值
}
如果(打开(当前)){
温度=匹配(当前)。混凝土(温度)
返回checkValid(字符串,临时,n+1)
}
否则{
如果(当前===当前匹配){
温度=温度子项(1)
返回checkValid(字符串,临时,n+1)
}
返回false;
}
返回false;
}
函数validBraces(大括号){
var n=0
变量温度=“”
返回检查有效(大括号,临时,n)
}
validBraces(“()”)//应返回true
validBraces('[)}{')//应返回false

天啊,我想该睡觉了。谢谢!