Неизвестная переменная отображается как неопределенная - PullRequest
0 голосов
/ 12 мая 2019

Я пытаюсь внести некоторые изменения в CSS при использовании мобильного телефона, но неизвестная переменная отображается как неопределенная.

Я просмотрел многочисленные учебники и нашел много разных решений, но я новичок в javascript и html ине совсем понимаю их.Я использую Chrome и меняю пользовательский агент, чтобы увидеть, что происходит на мобильном телефоне.

<!DOCTYPE html>
<html>
    <body>

        <p id="demo">Show</p>

        <div id="device"></div>
        <script type="text/javascript">

            var innerHTML="";

            testExp = new RegExp('Android|webOS|iPhone|iPad|' +
                               'BlackBerry|Windows Phone|'  +
                               'Opera Mini|IEMobile|Mobile' , 
                              'i');

              if (testExp.test(navigator.userAgent))
                   document.getElementById("device").innerHTML =
                        show();
              else
                   document.getElementById("device").innerHTML = 
                        hide();

            function show() {
              document.getElementById("demo").style.display = "none";
            }

            function hide() {
              document.getElementById("demo").style.visibility = "visible";
            }


        </script>

        <p>End</p>

    </body>
</html>

На рабочем столе должно отображаться:

Show
End

Но отображается:

Show
undefined
End

На мобильном телефоне «шоу» исчезло.Но не определено не так.

Ответы [ 2 ]

1 голос
/ 12 мая 2019

Проблема исходит из этой строки: document.getElementById("device").innerHTML = hide(); Функция hide не имеет возврата, поэтому, если вы используете данные, которые она возвращает, поскольку ничего не возвращает, она помещает undefined в элемент #device.

0 голосов
/ 12 мая 2019

Спасибо за вашу помощь, я был немного новичком, так что спасибо за поддержку. По причине, которую я не понимаю, мне пришлось положить что-то в ответ, прежде чем он смог завершить функцию

Возможно, я не правильно сформулировал вышесказанное, пожалуйста, не стесняйтесь уточнить

...