Присваивать значение без предварительного объявления? - PullRequest
0 голосов
/ 09 мая 2020

Кто-нибудь, пожалуйста, объясните, почему мы МОЖЕМ присвоить значение без предварительного объявления. Насколько я понимаю, нам нужно сначала объявить переменную (var посетителиName = prompt ("Введите свое имя:"). Что такое visitorName, если не переменная? Большое вам спасибо!

 visitor_name = prompt("Input your name : ");
 if(visitor_name !=null && visitor_name != ""){
   alert("Your name is: " + visitor_name);
 } else {
   alert("No Name User")
 }

Ответы [ 2 ]

2 голосов
/ 09 мая 2020

Когда был создан javascript, ожидалось, что он будет использоваться для небольших скриптов и часто начинающими программистами. В результате он был разработан, чтобы допускать некоторые небрежные методы кодирования. Один из способов сделать это заключается в том, что если вы не объявите свою переменную, она создаст для вас глобальную переменную.

При запуске этой строки:

 visitor_name = prompt("Input your name : ");

Javascript создаст свойство для объекта window с именем visitor_name. И позже, всякий раз, когда вы обращаетесь к visitor_name, поскольку другой переменной с таким именем нет, он будет обращаться к window.visitor_name

. Я рекомендую вам избегать использования этой «функции» javascript и просто объявляйте свой переменные явно.

0 голосов
/ 09 мая 2020

Javascript переменных имеют произвольный тип, что означает, что вы можете присвоить переменной любой тип значения.

Объем переменных, объявленных без ключевого слова var, становится глобальным независимо от того, где оно объявлено. К глобальным переменным можно получить доступ из любого места на веб-странице

x = 1;
console.log(x);
x = "one";
console.log(x);

Однако не рекомендуется объявлять переменную без ее типа данных, потому что это мешает области действия других переменных и может изменить значение некоторых глобальных переменных. переменная.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...