Class Javascript tutorial 3
Inheritance extends - dědění v třídách JavaScript.
Pokud nastane situace, že u několika objektů potřebujeme uložit více údajů a nechceme zasahovat již do základní třídy, můžeme jí rozšířit o další potřídu. Hlavní třídě budeme říkat PARENT (rodič) a podtřídě CHILD (dítě). To že DÍTĚ dědí z určité třídy doložíme výrazem "extends" a název třídy rodiče. Konstruktor RODIČE pak v třídě DÍTĚTE označíme výrazem super() a do závorek vložíme parametry, které bychom zadávali do třídy rodiče. Při vytváření objektu již můžeme použít přímo třídu DÍTĚTE a zadat parametry, které se přes super() dostanou i do třídy RODIČE. DÍTĚ má přístup ke všem privátním funkcím RODIČE, ale i k jeho proměnným (samozřejmě v rámci objektu vytvořeného přes myObjekt = new .....).
class Continent {
constructor(continent) {
this._continent = continent;
}
present() {
return ' is located in ' + this._continent;
}
}
class Country extends Continent {
constructor(continent, country) {
super(continent);
this._country = country;
}
show() {
return this._country + this.present() ;
}
}
myCountry = new Country("Europe", "Czech Republic");
// alert(myCountry.show());
77LW NO topic_id
AD
Další témata ....(Topics)
List of usefull JavaSript functions and constans
var 1_radian_to_degree = 180 / Math.PI; // 57,295779513082320876798154814105 degree
var 1_degree_to_radian = Math.PI / 180; // 0,01745329251994329576923690768489 radian
var 360_degree = 2 * Math.PI * 1_radian_to_degree;
parseInt("10.33") // returns 10 string to integer
parseFloat("10.33") // returns 10.33 string to float
// change sign
var a = -1;
a = a * -1; // +1
// random sign
a *= Math.floor(Math.random()*2) == 1 ? 1 : -1;
var who_is = 58;
var type = (typeof who_is); // number
Math.E // natural logarithms, e, approximately 2.718281828459045
Math.LN10 // natural logarithm of 10, approximately 2.302585092994046
Math.LN2 // natural logarithm of 2, approximately 0.6931471805599453
Math.PI // approximately 3.141592653589793
Math.SQRT1_2 // square root of 1/2 which is approximately 0.7071067811865476
Math.SQRT2 // square root of 2, approximately 1.4142135623730951
Math.pow(4, 2) = 16 // 4 x 4 ... base 4 to the exponent 2 power
Math.abs(-5) absolute value of a number // return 5
Math.tan(degrees * Math.PI / 180) // get tangent from degrees
Math.tan(degree * Math.PI / 180)*adjacent = opposite
opposite / Math.tan(degree * Math.PI / 180) = adjacent
Math.acos(adjacent / hypotenuse) // angle of a right-angle triangle in radians
Math.atan(opposite / adjacent) // angle of a right-angle triangle in radians
var adjacent = Math.cos(radian) * hypotenuse; // leng of adjacent side
// find the point on a circle if you know the circle´s radius
var x = Math.cos(pointAngleInRadiansFromCentreOfCircle) * radius;
var y = Math.sin(pointAngleInRadiansFromCentreOfCircle) * radius;
Math.cbrt(64) // cube root of a number 4 (4 x 4 x 4)
Math.exp(xNumber) // returns e<sup>xNumber</sup> ... e == Math.E
Math.ceil() // always rounds a number up to the next largest integer
Math.ceil(1.001) // 2
Math.floor() // returns largest integer less than or equal to a given number
Math.floor(5.85) = 5
Math.floor(-5.15) = -6
const arrayA = [2, 3, 1];
Math.min(...arrayA) = 1;
Math.max(1, 3, 2) = 3;
Math.random() // returns 0.000.... - 0.99999999999
Math.random() * 3 // returns 0.000 - 2.99999999999
Math.round() // returns value of a number rounded to the nearest integer.
Math.round(0.9) // 1
Math.round(5.5) // 6
Math.round(5.05) // 5
Math.floor(Math.random() * 3) // returns 0, 1, 2
Date: 14.06.2020 - 08:38Tato funkce smaže původní soubor a vytvoří nový.
Parametry jsou cesta k souboru a pole řádků.
Nakonec nastaví mod přístupu k souboru.
Parametry jsou cesta k souboru a pole řádků.
Nakonec nastaví mod přístupu k souboru.
/**
* Tato funkce smaže původní soubor a vytvoří nový.
* Parametry jsou cesta k souboru a pole řádků.
* Nakonec nastaví mod přístupu k souboru.
*
* @param string $fname
* @param array $poleVstup
*/
function createNewFile($fname, $poleVstup)
{ // BEGIN function createNewFile
if(file_exists($fname))unlink($fname);
$fp = fopen($fname, "a");
if (flock($fp, LOCK_EX)) { // do an exclusive lock
foreach ($poleVstup as $key=>$value) {
fwrite($fp, $value); //
}
flock($fp, LOCK_UN); // release the lock
} else {
echo "Couldn't lock the file !";
}
fclose($fp);
chmod($fname, 0777); // set CHMOD
} // END function createNewFile
/**
* fopen() modes
*/
r Read
r+ Read and write, prepend
w Write, truncate
w+ Read and write, truncate
a Write, append
a+ Read and write, append
Od verze PHP 5.1.0 lze k uložení souboru se zámkem využít i funkci file_put_contents
přičemž flag bude mít hodnotu LOCK_EX
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
$file = "test.txt";
$content = "Some text which will put into file";
file_put_contents($file, $content, LOCK_EX);
Tohle jsou některé metody objektu document
clear
createDocument
createDocumentFragment
createElement
createEvent
createEventObject
createRange
createTextNode
getElementById
/* nejpouzivanejsi metoda objektu document, ktera
ziska handle elementu dle jeho id*/
getElementByTagName
var e = document.getElementById('list');
e= e.getElementsByTagName('span');
i=0;
while(i < e.length){
e[i].style.color = "green";
}
write
document.write("some text");
regex for matching something if it is not preceded by something else
REGEX bude před použitím zřejmě nutno vložit mezi lomítka např. /regex/
Za ukončovací lomítka se dávají značky "flags" např. g - globální atd. viz v příspěvcích níže.
najde .round jen když není před ním Math
OK
a.round
c.round
NOT Math.round
regex if not followed by something
Vybere Math , za kterým NEnásleduje .round
OK
Math.pow, Math.cos
NOT
Math.round
Výše uvedené REGEX jsou vhodné například při hledání v souborech, kdy hledáme nějakou funkci stejného názvu, která není, nebo je přidružena např. k Math
REGEX bude před použitím zřejmě nutno vložit mezi lomítka např. /regex/
Za ukončovací lomítka se dávají značky "flags" např. g - globální atd. viz v příspěvcích níže.
(?<!Math)\.round
najde .round jen když není před ním Math
OK
a.round
c.round
NOT Math.round
regex if not followed by something
Math(?!\.round)
Vybere Math , za kterým NEnásleduje .round
OK
Math.pow, Math.cos
NOT
Math.round
Výše uvedené REGEX jsou vhodné například při hledání v souborech, kdy hledáme nějakou funkci stejného názvu, která není, nebo je přidružena např. k Math
Editace contextového menu a přidání položek do kontextového menu Notepad++
Konkrétně je to vyvolání nabídky pro změnu syntaxe v otevřeném souboru.
Postup:
- vybrat z horního menu
- Settings
- Edtit Context Menu
- Upravit soubor
- Zavřít a otevřít Notepad++
- Vyzkoušet funkci
Konkrétně je to vyvolání nabídky pro změnu syntaxe v otevřeném souboru.
Postup:
- vybrat z horního menu
- Settings
- Edtit Context Menu
- Upravit soubor
- Zavřít a otevřít Notepad++
- Vyzkoušet funkci
Před < Item odstraňte mezeru!!!!! Zde je to jen kvůli zobrazeni. Prolížeče mají tendenci kód převést na HTML.
< Item id="0"/><!-- moje -->
< Item FolderName="Language Syntax" MenuEntryName="Language" MenuItemName="CSS" ItemNameAs="Language CSS"/>
< Item FolderName="Language Syntax" MenuEntryName="Language" MenuItemName="HTML" ItemNameAs="Language HTML"/>
< Item FolderName="Language Syntax" MenuEntryName="Language" MenuItemName="JAVASCRIPT" ItemNameAs="Language JAVASCRIPT"/>
< Item FolderName="Language Syntax" MenuEntryName="Language" MenuItemName="PHP" ItemNameAs="Language PHP"/>
Editace: 21.5.2020 - 08:25
Počet článků v kategorii: 77
Url:class-javascript-tutorial-3