Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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 字符串长度检查似乎不起作用_Javascript - Fatal编程技术网

Javascript 字符串长度检查似乎不起作用

Javascript 字符串长度检查似乎不起作用,javascript,Javascript,对你来说没什么问题,但为什么在我的Javascript文档中不起作用呢 <script> prompt("Are you ok?"); if ("no".length > 3) { window.location.href = "http://google.com"; } else { window.location.href = "http://facebook.com"; } </script> 提示(“你还好吗?”); 如果(“否”。长度>3){

对你来说没什么问题,但为什么在我的Javascript文档中不起作用呢

<script>
prompt("Are you ok?");
 if ("no".length > 3) {
 window.location.href = "http://google.com";
 } else {
 window.location.href = "http://facebook.com";
}
</script>

提示(“你还好吗?”);
如果(“否”。长度>3){
window.location.href=”http://google.com";
}否则{
window.location.href=”http://facebook.com";
}

问题是,即使我键入比“否”更大(或更小)的内容,它也会把我带到谷歌。我最近刚开始使用JS,我想如果我能将它添加到我的网站上,那会很酷。

你没有使用提示返回的值

<script>
var response = prompt("Are you ok?");
if (response.length > 3) {
  window.location.href = "http://google.com";
} else {
  window.location.href = "http://facebook.com";
}
</script>

您正在检查常量长度是否大于其实际长度,从而导致不可能的组合

console.log("no".length) // you'll get always 2
console.log("no".length > 2) // always false
你应该怎么做(我喜欢一句台词)

在浏览器中处理是非答案的另一种可靠方法:

window.location.href = window.confirm('Go to Google?') ? 'http://google.com' : 'http://facebook.com';

“否”字符串vs
no
变量?您没有检查它们的响应,您只是检查字符串
“否”
。它永远不会改变长度。那里没有PHP,只有Javascript。甚至更短:
if(提示符(“你还好吗?”)==“不”)
。我不介意@Barmar。。。编辑了这篇文章,希望它对每个人都有意义。
window.location.href = ('no' === window.prompt('Are you ok?')) ? 'http://google.com' : 'http://facebook.com';
window.location.href = window.confirm('Go to Google?') ? 'http://google.com' : 'http://facebook.com';