Кодирование на JavaScript — это один из языков, где вы постоянно ходите туда-сюда, чтобы проверить, не происходит ли что-нибудь. Я работал над несколькими проектами, используя базовые функции и циклы JavaScript. Во всех своих начинаниях единственное, что я убираю из всего, — это использование точек с запятой и вставка console.log практически везде. Отладка может превратиться в сущий ад, и если вы действительно не знаете точно, что делаете (обычно я), вы обречены на провал. В качестве альтернативы, если вы заблудились, лучше всего проверить свой код, подключить несколько console.logs и посмотреть, что получится. Помимо знания того, что я знаю до сих пор, это единственный способ проверить, знаю ли я, что делаю.

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

Один из проектов, над которым я работал, включал в себя создание нескольких функций, которые позволяли бы мне выбирать начинку для пиццы, корочку и, наконец, все собирать. Я имел дело с объектами JavaScript, которые имеют дело со свойствами и методами. Я могу просто создать свою переменную для пиццы и создать свои объекты (тонкое тесто, пепперони, 1 стакан муки и средний размер).

var pizza = {
 crustType: “thin crust”,
 toppingType: “pepperoni”,
 sizeType: “medium”,
flourAmt: “1 cup of flour”,

Имея мои объекты по умолчанию, мне нужно создать некоторые функции, чтобы предоставить альтернативные варианты для наших пользователей. Отсюда я действительно хочу начать тестирование своих функций, чтобы убедиться, что они работают. Моя первая функция makePizza имеет переменную pizzaText, целью которой является отображение нашей полностью построенной пиццы. Мы определяем нашу переменную как строку (манипулятивный текст), которая включает в себя наши объекты. Мы можем проверять консоль на протяжении всего процесса, чтобы убедиться, что наш код работает.

makePizza: function() {
 var pizzaText = “We pull out of the oven a “+pizza.sizeType+” “+pizza.toppingType+” pizza with “+pizza.crustType+”. Please enjoy.”;
 console.log(pizzaText);
 document.getElementById(“feedback”).innerHTML = pizzaText;
}, //end of the method

Чтобы вставить нашу строку в нашу веб-страницу, нам нужно будет использовать строку кода для ссылки на определенный идентификатор в нашем HTML с именем “feedback”, который был связан с тегом div. Если мы быстро взглянем на наш HTML, мы увидим, что наш сайт состоит в основном из заголовков, кнопок и разделов (div).

JavaScript

document.getElementById(“feedback”).innerHTML = pizzaText;

HTML

<div id=”feedback”>feedback</div>

Мы также сделали функцию для создания списка покупок, который подскажет нам, какие ингредиенты нам нужны для приготовления этой пиццы. С помощью этой функции она зависит от того, какие объекты выбраны, поэтому, если выбрана толстая корочка, она изменит ингредиенты, чтобы вместо этого отображались 2 чашки муки. После этого мы добавим нашу строку кода для ссылки на наш идентификатор обратной связи, и мы сможем отображать наши ингредиенты, когда нажимаем кнопку «Список покупок».

shopList: function() {
 if (pizza.crustType == “thick crust”) {
 pizza.flourAmt = “ 2 cups of flour”;
 }
var shopText = “To bake this pizza we will need “+pizza.flourAmt+” and 1 pound of “+pizza.toppingType+”.”;
 console.log(shopText);
 document.getElementById(“feedback”).innerHTML = shopText;
}//end of method

Если вы просматриваете веб-сайт, вам может быть интересно: «А как насчет вариантов размера «Ананас» и большого размера?» Хорошо, если мы еще раз взглянем на наш HTML, вы увидите синтаксис, который у нас есть, и onclick. Что это делает с функциями, так это изменяет значение объекта value на то, что мы установили. Итак, в разделе «Параметры начинки» у нас есть кнопка «Ананас», которая при нажатии меняет значение pizza.toppingType на «ананас». То же самое касается нашего pizza.sizeType. Эти кнопки onclick могли бы быть легко реализованы в нашем JavaScript, но я хочу показать несколько различных методов создания этих функций.

<h2>Topping Options</h2>
<button onclick=”pizza.toppingType=’pepperoni’”>Pepperoni</button>
<button onclick=”pizza.toppingType=’pineapple’”>Pineapple</button>

После небольшого тестирования я смог заставить свои функции работать, и я получил свои начинки и размеры для создания своей пиццы. На протяжении всего проекта я подключал console.log к своим функциям, переменным и объектам, чтобы убедиться, что все работает правильно. Я смог легко найти ошибки и даже разочаровался, пытаясь понять, почему что-то не работает (все сводилось к одной точке с запятой). В целом, было полезно часто тестировать мой код.

Мануэль Эспиноза — студент программы «Цифровые медиа» в Университете Юта-Вэлли, Орем, Юта, изучает разработку веб-сайтов и приложений. Следующая статья относится к (Pizza Emporium) в (курсе DGM 2760) и представляет полученные навыки.