Jump to content

Recommended Posts

Начал изучать 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 таких проблем у меня не было  :(

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Когда вы нажимаете ок введя пустое имя функция 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>

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

 

 

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

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

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

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

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

это книга 

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

это книга 

 

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

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

 

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

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

Share this post


Link to post
Share on other sites

Но всё равно, если не ввести имя, то выкидывает "Привет, null". Почему? 

 

потому что в js undefined, а не null

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...