Можем ли мы согласиться с тем, что html и css были довольно простыми? Когда я копался в кроличьей норе веб-разработки, я чувствовал себя уверенно. Я мог центрировать div и даже сдал последний экзамен по html и css.
Это был этап медового месяца в моем путешествии. Дальше был джаваскрипт. будьте готовы прыгнуть в глубокий конец бассейна детей. Javascript — это совсем другое животное. Если быть честным, я боролся за первую неделю его изучения. Я не могу дать много советов о том, как стать мастером javascript, но, возможно, этот лакомый кусочек поможет вам не биться головой о стену и сэкономит ваше время.
Мне пришлось создать калькулятор узлов для проекта в моем курсе javascript. это выглядело немного примерно так.
function firstPick () { const num1 = rs.question('Pick a number? '); if (!isNaN(num1) === true) { return num1; } else { console.log('Invalid..try again.') return firstPick(); } } firstPick(); console.log('You have selected ' + num1 +'.');
После того, как я выбрал номер, я ожидал, что он запишет в console.log номер, который я выбрал. вместо этого я получил num1 undefined.
Я был озадачен. Он должен выдать номер, который я выбрал. Я уже собирался начать биться головой о стену, когда понял кое-что из своих занятий, что я забыл. Масштаб.. Я забыл масштаб.
Когда вы объявляете переменную в javascript, и у вас есть то, что называется локальной и глобальной областью действия. Это означает, что определенные переменные в зависимости от того, где они расположены в проекте, определяют, как вы можете получить к ним доступ. Например.
Это пример глобального охвата. Переменная green объявлена перед функцией printColor, что означает, что функция может использовать эту переменную для выполнения своей задачи.
Это пример локальной области действия. favColor вложен в функцию printColor. Поэтому, когда я использую его в своем console.log на кнопке страницы и нажимаю Enter, я должен получить зеленую печать на консоли или так я думал. На самом деле я получил favColor undefined.
Это из-за размаха. Локальная переменная не может использоваться глобально во всем проекте.
Именно эту истину я забыл и почему не мог заставить работать свой калькулятор узлов. Поэтому мне пришлось каким-то образом извлечь свою переменную из функции, чтобы использовать ее позже в проекте. И это то, что я придумал.
function firstPick () { const num1 = rs.question('Pick a number? '); if (!isNaN(num1) === true) { return num1; } else { console.log('Invalid..try again.') return firstPick(); } } var n1 =firstPick(); console.log('You have selected ' + n1 +'.');
Я сделал отдельную переменную вне функции (сделав ее глобальной) и вызвал функцию внутри этой переменной, чтобы я мог получить нужную информацию из своей функции и использовать ее в другом месте в моем проекте.
Надеюсь, это поможет кому-то и сэкономит вам время и нервы.