Fandom

Wikia Polska

Komentarze0

Opcikowe Papiery ep. 1: Skracanie i zaawansowane odwołanie

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Opcikowe Papiery
 

Jeśli ktoś czasami ma problemy z JavaScriptem, nie chce lać wody na kod, nie lubi psuć klawiatury, a także walczy z bajtami, to właśnie powinien czytać mojego bloga.

Najpierw zajmiemy się skracaniem skryptów. Większość z nich bije o głowę i najczęściej żaden nie korzysta z możliwości skracania. Tu nie chodzi o jakieś zbędne spacje. Chodzi o jak najkrótszą implementację kodu.

Poniżej znajduje się przykładowy skrypt.

var Jan;
 
if(window.male) {Jan = "usz";} // window.male i tak nie istnieje, bo po co określać płeć okna?
else {Jan = "ina";}

A to jest wersja bez zbędnych spacji i komentarzy.

var Jan;if(window.male){Jan = "usz";}else{Jan = "ina";}

Można to znacznie skrócić:

var Jan = (window.male)?"usz":"ina";

Z reguły nawiasy można pominąć, ale bez nich kod traci czytelność. I tak zaoszczędziliśmy dużo bajtów kodu. Zastosowany przykład znajduje się np. w jQuery.

To daje do myślenia, że uda się skrócić skrypt do maksimum, nie szkodząc przy tym pamięci przeglądarki.

var Jan;
 
if(typeof window.male == "function") {Jan = "usz";} // window.male i tak nie istnieje, bo po co określać płeć okna?
else if(window.male == 1) {Jan = "ek";}
else if(window.female) {Jan = "ina";}
else {Jan = "ko";}

Korzystając z logicznego myślenia, jeżeli możemy wstawić regułę, a else podaje drugą wartość, to można stworzyć takową regułkę:

var Jan = (typeof window.male == "function")?"usz":(window.male == 1)?"ek":(window.female)?"ina":"ko";

A teraz coś śmiesznego... jQuery uruchamiane... z tabelek.

$("#p-cactions")["html"]("JAJKO")

Działa! Jak widać, opiera się na trzech wartościach tekstowych, które można określić za pomocą zmiennych. To pozwala na tworzenie funkcji obsługujących jQuery.

To tyle informacji na tym wpisie. Następnym razem znajdę coś bardzo ciekawego.

Więcej w Fandom

Losowa wiki