Javascript 字符串长度检查似乎不起作用
对你来说没什么问题,但为什么在我的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){
<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';