Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 while(哨兵控制循环)错误_Javascript - Fatal编程技术网

JavaScript while(哨兵控制循环)错误

JavaScript while(哨兵控制循环)错误,javascript,Javascript,下面的代码似乎有一个错误。找不到代码的错误。 程序的其余部分将变量returnValueFinal类型的值计算为null。我想让while循环提示用户输入一个数字,while循环应该作为哨兵控制的循环工作。 然而,is并没有像预期的那样工作。 这是我的密码 while( typeof(returnValueFinal) === null ) { prompt("Please enter a number");

下面的代码似乎有一个错误。找不到代码的错误。 程序的其余部分将变量returnValueFinal类型的值计算为null。我想让while循环提示用户输入一个数字,while循环应该作为哨兵控制的循环工作。 然而,is并没有像预期的那样工作。 这是我的密码

while( typeof(returnValueFinal) === null )
                {
                    prompt("Please enter a number");
                    console.log("null value");
                }

有人能找到错误吗?提前感谢

typeof
返回字符串

因此
typeof(returnValueFinal)==null
返回false,实际上如果
returnValueFinal
为null使用
returnValueFinal===null
typeof(null)==='object'
您想要的
returnValueFinal==null
(也将捕获未定义)在某些浏览器中,如果您不检查null字符串,在其他情况下,它将为false,它将不会运行,因为浏览器将看到它永远不会退出循环,因为您没有以任何方式更新
returnValueFinal
的值,以便它看到它已更改了其类型。除非你有其他代码,你没有告诉我们,在这种情况下,忽略这一点,这只是我最初的想法,没有更多的代码/信息,我无法更准确地评论。浏览器到浏览器它会改变,但这是它没有按预期运行的两个最可能的原因。有趣。哪些浏览器?但是
typeof({})=='object'
不确定@Wainage得到的是什么,它将计算为
true
,因为
{}
是一个对象,我说
null
不是唯一能使该条件为真的东西。如果returnValueFinal={},它将(根据他的代码)宣布“null”