javascript如果失败

javascript if fails

本文关键字:失败 如果 javascript      更新时间:2023-09-26

我看不到我的错误在哪里,如果有任何

<!DOCTYPE html> <html> <head>
        <script type="text/javascript">
            //http://stackoverflow.com/questions/10251149/using-javascript-to-detect-google-chrome-to-switch-css
            //provera brosera
            function check_chrome_ua() {
                var ua = navigator.userAgent.toLowerCase();
                var is_chrome = /chrome/.test(ua);
                alert("func check_chrome_ua() " + is_chrome);
                return is_chrome;
            }
            //promena nadpisa
            function check() {
                //alert("check1");
                var check = check_chrome_ua();
                alert("var check " + check + "; func check_chrome_ua() " + check_chrome_ua());
                if (check == "false") {
                    alert("change text");
                    document.getElementById("opomena").style.color = "red";
                    document.getElementById("opomena").innerHTML = 'Warning you are not using Google Chrome';
                }
            }
        </script>
        </head>
        <body onmousemove="check()">
    <div id="opomena">Thank you for using Google Chrome.</div>
</body>
 </html>

谷歌Chrome上的弹出窗口显示为真,火狐上显示为假弹出窗口"更改文本"不会在Firefox中显示,但var检查为false。

提前感谢您的建议

更改

if (check == "false") {

if (!check) {

if (check == false) {

如果您真的想检查布尔值false

/chrome/.test(ua)调用的regexp test方法返回一个布尔值,但check == "false"将该布尔值与字符串进行比较。两者不相等。

在JavaScript中,==在比较字符串和对象时是允许的,但不像Perl的eq运算符那样允许。

  • 0 == false
  • false == false
  • "false" == [false]
  • false != "false"
  • 0 != "false"

尝试使用定义良好的运算符!=====来比较基元值是一个好习惯。

您必须检查布尔值false,而不是"false"(它是一个字符串)。

只有if (!check)就足够了(或者更详细的版本if (check == false))。