4 Полезни JavaScript изявления, които трябва да знаете
Изявленията на JavaScript ни дават сила внедряват различни типове логика в нашия код. JavaScript ни осигурява няколко от тях, всяка от които има своя собствена цел и синтаксис. Сред най-известните примери можем да намерим изрази за изрази, итерационни изявления, условни изрази и др
В днешния пост ще видим четири по-малко често срещани JavaScript изявления може да не сте знаели преди, но можете да задълбочите знанията си за JavaScript и да ви даде възможност да пишете по-добър код.
1. Празно изявление
На мястото на всяко изявление на JavaScript можете да добавите празно изявление, което е написано като една точка и запетая ;
. Когато интерпретаторът на JavaScript интерпретира празен израз, не се изпълнява код, следователно те могат да бъдат полезни за замени изявленията, които не искаш да изпълниш.
Например, приемете, че има променлива, наречена лакмус
със стойността по подразбиране неутрален
. Въз основа на стойността на друга променлива, наречена рН
, лакмус
се променя киселинна
когато рН < 7 or основен
при рН> 7.
Ако стойността на рН
Оказва се, че е невалиден, възниква грешка. За състояние по този начин се прилагат следните условни изрази:
var litmus = „неутрален“; var рН; ако (рН> 0 && рН<7) litmus = 'acidic'; else if(pH>7 && рН<15) litmus = 'basic'; else throw "Invalid pH value";
Въпреки това по-горе набор от отчети хвърля грешка, когато рН
Стойността му е 7, което не би трябвало да е така.
Кога рН
е 7, лакмус
трябва да запази стойността си по подразбиране, т.е. неутрален
. Така че, за случай като този, добавете условие кога рН
е 7 със запълваща празна декларация.
var litmus = „неутрален“; var рН; ако (рН> 0 && рН<7) litmus = 'acidic'; else if(pH===7) ; /* empty statement */ else if(pH>7 && рН<15) litmus = 'basic'; else throw "Invalid pH value";
Сега, кога рН
е 7, преводачът не изпълнява никакви инструкции и лакмус
запазва стойността си по подразбиране, неутрален
.
Празни изявления могат да се използват и за попълване на масив с помощта на за
контур.
var ary = []; за (var i = 0; i < 5; ary[i++] = i) ; /* empty statement */ console.log(ary); // [1, 2, 3, 4, 5]
Обикновено a за
loop statement е последвано от под-оператор, който се състои от единично или блоково изявление (което е затворено в фигурни скоби). Използвайки празно изявление на мястото на под-оператора, интерпретаторът няма да има какво да изпълни след всеки цикъл, така че само примка се появяват, и условията на цикъла се изпълняват.
В горния пример, ary [i ++] = i
изпълнява за всяка итерация на цикъла като част от условието за цикъл и масива мерното
се създава със стойности на аз
.
2. дебъгер
изявление
В инструментите за отстраняване на грешки можем добавете маркери Наречен точки на прекъсване към всеки ред в изходния код маркирайте линиите, от които ще започне дебъгването на инструмента за отстраняване на грешки.
В JavaScript, дебъгер
изявление работи по същия начин като точка на прекъсване, с изключение на това добавен директно в изходния код, вместо в рамките на инструмент. Всеки стартиран дебъгер ще бъде спрете изпълнението на скрипта когато достигне дебъгер
изявление, за да ви помогне да отстраните грешките в кода.
Не забравяйте, че отстраняването на грешки ще се задейства само ако скриптът се изпълнява в режим за отстраняване на грешки, програмата за отстраняване на грешки вече работи по изпълнението на скрипта. Ако понастоящем не се изпълнява програма за дебъгери при интерпретиране на дебъгер
преводачът ще продължи работата си, сякаш нищо не се е случило.
Като бърз тест, изпълнете следния код в Codepen, като същевременно запазите инструмента за откриване на грешки в браузъра:
console.log ( "tesing '); дебъгер; console.log ("извлечение за отстраняване на грешки");
Ще видите точка на прекъсване освен дебъгер
, както е показано по-долу в инструмента за дебъгер на браузъра.
3. Изписано изявление
В JavaScript можете да добавяте и етикети към определени изявления. По този начин можете по-късно преминете към обозначеното изявление използвайки нейния етикет в кода, един вид като Отидох
изявление работи на някои други езици.
Етикетите с означения могат да се използват само заедно с почивка
и продължи
в JavaScript няма буквално Отидох
изявление.
И двете почивка
и продължи
може да се използва само в циклични изрази, като например за
цикъл (с едно изключение, почивка
може да се използва в ключ
изявление). Така че, можем да маркираме контури и да ги използваме почивка
и продължи
да контролират тяхното изпълнение.
Най- синтаксис на етикетирани изявления е просто, просто трябва да добавите името на етикета със следното двоеточие, както можете да видите в примера по-долу, където контур
е името на етикета, който добавяме към за
контур.
loop: for (var i = 0; i<5; i++) if(i===2) continue loop; console.log(i); // 0, 1, 3, 4
Когато стойността на аз
е 2, изпълнението се връща обратно към цикъла, вместо да продължава и по този начин предотвратява изхода на конзолата на “2”.
Сега да видим друг пример с почивка
изявление. Просто заменете продължи
ключова дума с почивка
в горния пример и ще забележите, че вместо да се върнете обратно към цикъла, както го е направил продължи
, веригата завършва / прекъсва напълно.
loop: for (var i = 0; i<5; i++) if(i===2) break loop; console.log(i); // 0, 1
Примерите по-горе бяха доста прости, за да можете бързо да разберете как работят етикетираните изрази, но при кодирането в реални условия етикетите се използват по-често в съставни контури, когато е необходимо да се разграничат различните контури, като в следния пример:
loop: for (var i = 0; i<4; i++) for(var j=0; j<2; j++) if(i===2 && j===1) break loop; console.log(i+"-"+j);
Ето външен контур почивки при стойност 2 за променлива аз
и на 1 за к
, и конзолата връща следния изход:
0-0 0-1 1-0 1-1 2-0
4. с
изявление
Когато интерпретатора JS среща неквалифицирано име който не посочва с кой обект или функция се свързва, той търси веригата на обхвата за всеки подходящ обект или функция, към които може да се отнасят обаждането.
С помощта на с
изявление, можем добавете обект към горната част на веригата на обхвата, и укажете с кой обект се свързва повикването.
В следващия пример можете да видите свойствата на човек
Обектът се нарича с имената им само вътре в с
изявление.
var person = firstName: "John", lastName: "Doe", възраст: "18", държава: "Гренландия"; с (person) console.log ("Здравейте, името ми е" + firstName + "" + lastName + ". Аз съм" + + "и съм на" + държава + "."); // Здравейте, казвам се Джон Доу. Аз съм на 18 години и живея в Гренландия.
Сравнете как ще изглежда горният код, без да използвате с
изявление:
var person = firstName: "John", lastName: "Doe", възраст: "18", държава: "Гренландия"; console.log ("Здравейте, името ми е" + person.firstName + "" + person.lastName + ". Аз съм" + person.age + "години и живея в" + person.country + "." ); // "Здравейте, казвам се Джон Доу. Аз съм на 18 години и живея в Гренландия."
Можете да видите, с
изявление може да бъде голям шорткът, ако работите с много свойства на един и същ обект.
Имайте предвид обаче, че използването на с
изявление в строг режим не е позволено, тъй като това може да доведе до известно объркване.
Също така е препоръчително само да използвате с
, ако вътрешните му изявления използват обекта, асоцииран с с
в противен случай преводачът ще губи време да разглежда обекта, споменат от с
първо, за всички неквалифицирани имена на имоти, които по-късно намира в с
блок.