Я не могу получить уведомление с полным именем - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь использовать переменные и получать оповещение с именем, но оно не работает.

В настоящее время я изучаю переменные в JavaScript, курс Stefan Mitchoock -StudioWeb, и я уже достиг 5 главы и код из курса не работает, и я не знаю, что я делаю не так.

Большое спасибо за помощь!

    </title>
    <script src="external.js"></script>

    <script>
    var firstName="Adina"
    var secondName="Avram"
    var fullName=firstName+secondName;

    function sniffer (message) {console.log("Event:"+message);alert("inside function alert");}
    alert("not in function code");


    </script>

    <style>


    </style>

    </head>

    <body id="bodyly">


    <nav id="navigation">


    </nav>
    <script>
    document.getElementById("butt").onclick=function(){sniffer("Clicked on secondP");outSide();}
   </script>

     </body>

     </html>




    and this is the external.js
    external.js


    function outSide(){alert("called: outSide()function");}

  Thank you a lot!

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Похоже, что вы на самом деле никогда не используете fullName, который вы создаете, используя firstName и lastName. Попробуйте что-то вроде этого:

function sniffer (message) {console.log("Event:"+message);alert(fullName);}

А также, я бы рекомендовал использовать несколько строк, чтобы их было легче читать. Вот как то так:

function sniffer (message) {
    console.log("Event:" + message);
    alert(fullName);
}
0 голосов
/ 20 апреля 2020

Поскольку fullName объявлено как глобальная переменная (вне какой-либо функции), вы можете напрямую обращаться к ней в любом месте вашего кода.

Проверьте ниже:

Примечание: Я специально добавил alert(fullName); во все функции, чтобы показать доступность глобальной переменной.

var firstName="Adina";
var secondName="Avram";
var fullName = firstName + " " + secondName;   // add a space between the names?

function sniffer(message) {
  console.log("Event: " + message);
  alert("inside function alert");
  alert("This is full name in sniffer " + fullName);
}

function outSide() {
  alert("called: outSide() function");
}

document.getElementById("butt").onclick = function() {
  sniffer("Clicked on secondP");
  outSide();
  alert("This is full name in the onclick listener " + fullName);
}
<p id="butt">Click me</p>

Редактировать: Отображение полного примера на полном шаблоне HTML

<!DOCTYPE html>
<html>
<head>
  <title>Title of the document</title>
  <script src="external.js"></script>
  <script>
    var firstName="Adina";
    var secondName="Avram";
    var fullName=firstName+secondName;

    function sniffer(message) {
      console.log("Event: " + message);
      alert("inside function alert");
      alert("This is full name in sniffer " + fullName);
    }
    alert("not in function code");
  </script>
</head>

<body id="bodyly">
  <nav id="navigation"></nav>
  <p id="butt">Click me</p>
  
  <script>
    document.getElementById("butt").onclick = function() {
      sniffer("Clicked on secondP");
      outSide();
      alert("This is full name in the onclick listener " + fullName);
    };
  </script>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...