Jump to content

Recommended Posts

  • VIP

Начал изучать JS и столкнулся с проблемой. Пишу

<script>
var index = true;
while (index){
    var name = prompt("Ваше имя", "Семён Семёныч");
    if (name){
        document.write ("Привет, " + name);
        index = false;
    }
}
</script>

или 

<script>
var index = true;
while (index){
    var name = prompt("Ваше имя", "Семён Семёныч");
    if (name != null){
        document.write ("Привет, " + name);
        index = false;
    }
}
</script>

Но всё равно, если не ввести имя, то выкидывает "Привет, null". Почему? Конечно, можно сделать через do while всё (так и в видеоуроке), но вот поставил цель разобраться в вопросе. Что-то в php таких проблем у меня не было  :(

Link to post
Share on other sites
  • VIP

Сам отвечаю на вопрос. Вот так работает:

<script>
var index = true;
while (index){
    var name = prompt("Ваше имя", "Семён Семёныч");
    if (name != "null"){
        document.write ("Привет, " + name);
        index = false;
    }
}
</script>

Почему-то null идет как строчка, получается так?

Link to post
Share on other sites
  • VIP

Когда вы нажимаете ок введя пустое имя функция prompt возвращает пустую строку, когда вы нажимаете cancel  функция prompt возвращает string null который ничем не отличается от обычной строки, javascript как известно работает в браузере и это зависит от браузера, советую вам в изучении javascript всегда в таких ситуациях использовать typeof для проверки переменных.

Link to post
Share on other sites
  • VIP

Когда вы нажимаете ок введя пустое имя функция prompt возвращает пустую строку, когда вы нажимаете cancel  функция prompt возвращает string null который ничем не отличается от обычной строки, javascript как известно работает в браузере и это зависит от браузера, советую вам в изучении javascript всегда в таких ситуациях использовать typeof для проверки переменных.

Большое спасибо за ответ. Урок (от Специалист) просто 2011 года и показывается на старом Эксплоуре. Может тогда это и прокативало. Вот как там сделано:

<script type="text/javascript">
var name;
do {
    name = prompt("Ваше имя", "");
}
while ((name == null) || (name == ""))

document.write ("Привет, " + name);

</script>

После повтора,урока у меня не заработало, как у лектора. Видать, браузеры изменились. Ещё раз спасибо за наводку.

Link to post
Share on other sites
  • VIP

Как я понял php вы владеете поэтому советую вам не смотреть видеоуроки они мешают думать, читайте книжки фленагана например или стандарты mdn, решайте задачи, задавайте вопросы, видеоуроки  заставляют повторять а не думать. 

Link to post
Share on other sites
  • VIP

Как я понял php вы владеете поэтому советую вам не смотреть видеоуроки они мешают думать, читайте книжки фленагана например или стандарты mdn, решайте задачи, задавайте вопросы, видеоуроки  заставляют повторять а не думать. 

Не могу согласиться. Смотря как их смотреть. Благодаря этим видеоурокам я смог изучить основы PHP с лёгкостью, а вот по книгам так и не смог. Видеоуроки - это как быстрое погружение в среду. Так я проглядел курсы PHP на одном дыхании, повторяя преподавателя, выполняя его задания и сверяя. После видеоуроков, когда стал свои правки в сайты, конечно, видео уже не открывал повторно, а сразу шёл на php.su, к примеру, и вникал как работает та или иная функции, разбирался более глубоко. С книгами у меня так быстро не получалось, не завлекала меня. А теперь, когда разобрался, не так уж и сложно кажется разбираться в мануалах  :) Потому решил теперь так JS освоить, проглядеть видеоуроки, а затем засесть за мануалы. Думаете, это лишняя трата времени? Ну а вообще JS ради AJAX стал изучать, да и лишним 100% не будет, ведь на нем квери завязано и другие библиотеки, а также (если не ошибаюсь) на JS завязано написание андроид-приложений. Спасибо за советы по книжечке, сейчас поищу. И да, что-то не могу нормально мануала по JS найти (javascript.ru совершенно не нравится).

Link to post
Share on other sites
  • VIP

 

 

Не могу согласиться. Смотря как их смотреть. Благодаря этим видеоурокам я смог изучить основы PHP с лёгкостью, а вот по книгам так и не смог. Видеоуроки - это как быстрое погружение в среду.

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

https://developer.mozilla.org/ru/docs/Web/JavaScript

это руководство 

http://www.books.ru/books/javascript-podrobnoe-rukovodstvo-6-e-izdanie-1814274/

это книга 

 

Javascript самый популярный язык программирования в мире, на нем можно писать : фронтенд, бекенд, десктоп и мобильные приложения и с каждым днем становится все популярнее. 

Link to post
Share on other sites

Чаще всего видео уроки обучают только нескольким навыкам, например: создание слайдеров, выпадающее меню и т.д. Но не дает полноценной работы для написания даже самых простых программ, таких как конвертер и прочих. Человек который не понял суть и логику работы скриптов, будет обучен только некоторым вещам. 

Link to post
Share on other sites
  • VIP

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

https://developer.mozilla.org/ru/docs/Web/JavaScript

это руководство 

http://www.books.ru/books/javascript-podrobnoe-rukovodstvo-6-e-izdanie-1814274/

это книга 

 

Javascript самый популярный язык программирования в мире, на нем можно писать : фронтенд, бекенд, десктоп и мобильные приложения и с каждым днем становится все популярнее. 

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

 

Чаще всего видео уроки обучают только нескольким навыкам, например: создание слайдеров, выпадающее меню и т.д. Но не дает полноценной работы для написания даже самых простых программ, таких как конвертер и прочих. Человек который не понял суть и логику работы скриптов, будет обучен только некоторым вещам. 

Вы отчасти правы, но не в моём случае. Однако, спасибо большое за мнение!

Link to post
Share on other sites

а также (если не ошибаюсь) на JS завязано написание андроид-приложений.

Вы ошибаетесь. JAVA и JAVASCRIPT это далеко не одно и тоже. Если вы хотите в дальнейшем ударится в android разработку то учите JAVA, но также можно уйти на C/C++

Link to post
Share on other sites
  • VIP

Вы ошибаетесь. JAVA и JAVASCRIPT это далеко не одно и тоже. Если вы хотите в дальнейшем ударится в android разработку то учите JAVA, но также можно уйти на C/C++

Спасибо большое за совет. Пока JAVASCRIPT поучу, он как-то ближе web, чаще требуется его знание в разработке у меня. Всё такое интересное, жаль жизнь коротка  :)

Link to post
Share on other sites

Спасибо большое за совет. Пока JAVASCRIPT поучу, он как-то ближе web, чаще требуется его знание в разработке у меня. Всё такое интересное, жаль жизнь коротка  :)

Выучить новый язык программирования не так сложно, если был опыт с другим языком. Но выучить всё невозможно. Запомните, что даже создатель языка программирования не знает его полностью.

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...