Class Javascript tutorial 1
Třídy - class v javascript
Něco málo opakování na úvod:
Proměnná (variable) je místo, kam si ukládáme čísla, řetězce(text, znaky), objekty.
Narazíte možná často, že tomu tak není a kód není ukončen a na dalším řádku je definice
jiné proměnné, ale nespoléhejte na to, že si s tím prohlížeč vždy poradí a řádně ukončujte bloky kódu středníkem!
Je třeba jí co nejdříve definovat, jinak je to na malér.
Pole (array) je místo, kam ukládáme víc proměnných za sebou (do pole můžeme ukládat i objekty).
Objekt zpravidla vytváříme pomocí třídy.
Objektů může by mnoho, ale třída, pomocí které jsou vytvořeny, tak ta může být jen jedna.
Co je to třída?
Třída je taková šablona pro ukládaní dat, nebo vykonávání příkazů.
Lze jí přirovnat k formuláři, nebo dotazníku, kde má object (osoba) vyplnit
jméno, příjmení a další osobní údaje.
Formulář bude mít pro všechny zúčastněné stejné položky pro vyplnění,
ale každá osoba (object) do něj zapíše jiné údaje.
Takže nejdříve si vytvoříme třídu PersonalData.
Třída začíná velkým písmenem a slova se oddělují Velkým
písmenem, nebo _ podtržítkem (pro lepší čitelnost).
Třídní proměnné musíme označit this tečkou a názvem proměnné.
Před jméno třídní proměnné je dobré (až nutné) vložit prefix podtržítko _ a název
proměnné _nameOfVariable a tím ji odlišit od ostatních proměnných, potulujících
se v dalším kódu.
a protože constructor třídy umožňuje přímo při vytovření novéh Objectu vložit
i základní údaje, tak toho musíme využít.
nebo přistoupit k datům a použít privátní funkci
nebo použít veřejnou funkci např. pro získání popisu co třída umí
Něco málo opakování na úvod:
Proměnná (variable) je místo, kam si ukládáme čísla, řetězce(text, znaky), objekty.
var str = "ahoj světe!";
Kód, který patří k deklaraci, či definici určité proměnné, ukončujeme středníkem;Narazíte možná často, že tomu tak není a kód není ukončen a na dalším řádku je definice
jiné proměnné, ale nespoléhejte na to, že si s tím prohlížeč vždy poradí a řádně ukončujte bloky kódu středníkem!
// takhle raději ne - v budoucnu byste také mohli předělávat mnoho stránek kódu
a = 2
b = 3
// takhle je to správně, n před názvem proměnné označuje,
// že si tam, v našem případě, ukládáme číslo (number)
// s pak řetězec (string)
var nA = 2;
var nB = 3;
var sHello = "Hello world!";
// typ proměnné bychom sice v dalším kódu mohli ověřit
// pomocí <b>if (typeof myVariable == 'string')</b> atd.
// ale je to zbytečná práce navíc a znepřehledňuje to kód.
Deklarace proměnné je zapsání proměnné aniž by jste do ní vložili data.Je třeba jí co nejdříve definovat, jinak je to na malér.
var myDeklarationOfVariable;
Definice proměnné znamená, že do proměnné vložíme - přiřadíme jí hodnotu.
var myDefinitionOfVariable = "Tak, a už jsi definovaná!";
Definovat proměnnou můžeme i prázdným řetězcem, nebo u čísel se zadává -1 a pak již
kontrolujeme v kódu, jestli se hodnota proměnné změnila.Pole (array) je místo, kam ukládáme víc proměnných za sebou (do pole můžeme ukládat i objekty).
var ar = new Array("ahoj", "světe", "čau", "lidi!");
Objekt (Object) je místo, kam si můžeme ukládat nejen data, ale může obsahovat i funkce atd.Objekt zpravidla vytváříme pomocí třídy.
Objektů může by mnoho, ale třída, pomocí které jsou vytvořeny, tak ta může být jen jedna.
Co je to třída?
Třída je taková šablona pro ukládaní dat, nebo vykonávání příkazů.
Lze jí přirovnat k formuláři, nebo dotazníku, kde má object (osoba) vyplnit
jméno, příjmení a další osobní údaje.
Formulář bude mít pro všechny zúčastněné stejné položky pro vyplnění,
ale každá osoba (object) do něj zapíše jiné údaje.
Takže nejdříve si vytvoříme třídu PersonalData.
Třída začíná velkým písmenem a slova se oddělují Velkým
písmenem, nebo _ podtržítkem (pro lepší čitelnost).
Třídní proměnné musíme označit this tečkou a názvem proměnné.
Před jméno třídní proměnné je dobré (až nutné) vložit prefix podtržítko _ a název
proměnné _nameOfVariable a tím ji odlišit od ostatních proměnných, potulujících
se v dalším kódu.
class PersonalData {
// constructor slouží k základnímu nasavení konkrétního Object-u - osoby, věci atd.
constructor(name,family_name, profession) {
// před privátní proměnné dávejte prefix podtržítko
// za čas to nejedenkrát oceníte
this._name = name;
this._family_name = family_name;
this._profession = profession;
// myVariable = profession; // error
}
// třída může obsahovat i funkce. Pokud před funkcí není označení static
// pak se jedná o privátní fukci a může se používat jen přes konkrétní Object
// tedy přes osoba = new PersonalData( parametry ....)
// osoba.showPrivateContent()
// může mít i parametry
showPrivateContent(param){
alert (param " " + this._name + " " + this._family_name + " " + this._profession);
}
// tuto funkci může použít každy, aniž by musel vytvářet Object (konkrétní osobu)
// stačí PersonalData.showPrivateContent(param) a už běží!
// funkce ale nemá přístup k osobním údajům konktrétních Object-ů
// může mít i parametry
static showPublicIfno(param){
alert("Hello! This class can stored private data about any singers! " + param);
}
}
Dále si vytvořím Object (osobu), která vystavíme novou šablonu (formulář - třídu)a protože constructor třídy umožňuje přímo při vytovření novéh Objectu vložit
i základní údaje, tak toho musíme využít.
var michaelJackson = new PersonalData("Michael","Jackson","singer");
Nyní si již můžeme něco zjistit o tomto Objectu ze zadaných údajů např. jméno:
var strNameOfObject = michaelJackson._name;
nebo přistoupit k datům a použít privátní funkci
michaelJackson.showPrivateContent();
nebo použít veřejnou funkci např. pro získání popisu co třída umí
PersonalData.showPublicIfno('Bye Bye!');
77LW NO topic_id
AD
Další témata ....(Topics)
Soubory header, footer a další se nacházejí ve složce příslušného stylu například:
Můžeme v nich nastavit ikonu fóra, nebo údaje do patičky popřípadě atd.
mojeforum/styles/prosilver/template/overall_header.html
mojeforum/styles/prosilver/template/viewtopic_body.html
mojeforum/styles/prosilver/template/overall_footer.html
/mojeforum/cache/tpl_prosilver_overall_footer.html.php
/mojeforum/cache/tpl_prosilver_overall_header.html.php
Můžeme v nich nastavit ikonu fóra, nebo údaje do patičky popřípadě atd.
Styly se nacházejí v příslušné složce temáta, které používáme. Například:
Jednotlivé soubory můžeme upravovat, ale je nutné provádět refresh stylu z Admin centra ACP, záložka Styles -> Style components
Další soubory stylů přidáváme do jako import:
myforum/styles/prosilver/theme/stylesheet.css
Styly můžeme též editovat z ACP tabulka Styles -> Themes a zvolti Edit příslušné šablony
a po uložení provedeme refresh témata.
Nebo Styly - Skiny - Upravit konkrétní šablonu (prosilver atd.)
Někdy musíme vymazat i soubory ze složky cache a ponechat tam jen index.html a .htaccess
mojeforum/styles/prosilver/theme/
Jednotlivé soubory můžeme upravovat, ale je nutné provádět refresh stylu z Admin centra ACP, záložka Styles -> Style components
Další soubory stylů přidáváme do jako import:
myforum/styles/prosilver/theme/stylesheet.css
@import url("prs.css");
Styly můžeme též editovat z ACP tabulka Styles -> Themes a zvolti Edit příslušné šablony
a po uložení provedeme refresh témata.
Nebo Styly - Skiny - Upravit konkrétní šablonu (prosilver atd.)
Někdy musíme vymazat i soubory ze složky cache a ponechat tam jen index.html a .htaccess
Kontrola v javascript zda funkce existuje
Check if a Javascript Function Exists or Is Defined.
function myFunctionName() {
alert('I am myFunctionName');
}
if (typeof myFunctionName == 'function') {
myFunctionName();
}
Udaje o prohlížeči
alert(navigator.appName); // Netscape
alert(navigator.appVersion); // 5.0(Windows; en-US)
alert(navigator.appCodeName); // Mozilla
alert(navigator.appMinorVersion); // subverze prohlížeče
alert(navigator.browserLanguage);
alert(navigator.cookieEnabled); // true - false
alert(navigator.cpuClass);
alert(navigator.onLine); // true když je připojen k síti
alert(navigator.platform);
alert(navigator.systemLanguage);
alert(navigator.userAgent);
alert(navigator.userLanguage);
// zjisteni detekce prohlizece Google Chrome
var bool_is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
Letní čas tak připočítat hodinu.
Ověření zda je letní čas.
$dst = date("I"); //I (capital i); 0 or 1 if daylight saving time
// example:
$hour = 14;
if(date("I")===1){
$hour = $hour + 1;
}
// OR
$hour = 14 + date("I");
Editace: 21.5.2020 - 20:34
Počet článků v kategorii: 77
Url:class-javascript-tutorial-1