-
Iekš taga
<script>jebkurā vietā HMTL dokumentā.index.html:
<body> Wake up, Neo... <script> alert('The Matrix has you...'); </script> Follow the white rabbit. </body>
-
Atsevišķā failā, pieslēdzot to HTML dokumentā.
trinity.js:
alert('The Matrix has you...');
index.html:
<body> Wake up, Neo... <script src="trinity.js"></script> Follow the white rabbit. </body>
Modernā tendence pieslēgt js failu dokumenta beigās, pirms
</body>.
// single line
/* Multi
line
comments */Mainīgie:
var a = 1;
var fooBar = 2, foo_bar = "baz", // letters: [ascii, unicode]
_fooBar1 = true, $foo = [ "baz", 0 ]; // start with: letters, _, $
var a = 1, A = 2; // case-sensitive. a != ANonstrict:
var a = 123; // local
a = 123; // globalKey words: break; case; catch; continue; default; delete; do; else; finally; for; function; if; in; instanceof; new; return; switch; this; throw; try; typeof; var; void; while; with.
Reserved words:
- Nonstrict:
class; const; enum; export; extends; import; super; 'use strict':implements; interface; let; package; private; protected; public; static; yield;
Pamata JS datu tipi: Number, String, Boolean, Undefined, Object, Null, Function.
Pārbaudīt vērtības datu tipu var ar operātoru typeof. Piem.: typeof x.
Skaitlis. typeof x == 'number'.
- 0
- 1.2
- 045
- 0x56
- 0.314e2
- NaN — not a number.
Pārvērst par skaitli var jebkuru cita datu tipa vērtību izmantojot kontruktoru Number() vai funkcijas parseInt() un parseFloat().
var a = "b";
Number(a); // NaN
typeof Number(a); // numberparseInt() konvertē vērtību par veselo skaitli. parseInt() pieņem divus argumentus: mainīgo vai vērtību un skaitīšanas sistēmu, kurā ir dots mainīgais vai vērtība:
var a = "20px";
typeof a // 'string'
var b = parseInt(a, 10); // 20
typeof b // 'number'parseFloat() konvertē vērtību par decimāldaļskaitli:
var a = "20.2px";
typeof a // 'string'
var b = parseInt(a); // 20
typeof b // 'number'Gadījumā, ja vērtību nav iespējams pārvērst par skaitli augšminētās funkcijas atgriež NaN (not a number — nav skaitlis). Bet NaN datu tips jomprojām bus number.
var a = "b";
var b = Number(a); // NaN
typeof b; // numberAritmētiskie operātori:
= - * / %
var a = 6, b = 8;
console.log(a + b); // 14
console.log(a - b); // -2
console.log(a * b); // 48
console.log(a / b); // 0.75Operātors % dala kreiso daļu ar labo un atgriež skaitītāju:
var a = 14, b = 3;
console.log(a % b); // 2, jo 14/3 = 4 un 2/3.Salīdzināšanas operatori:
< <= > >= != ==
var a = 6, b = 8;
console.log(a > b); // false
console.log(a < b); // true
console.log(a == b); // false
console.log(a != b); // trueVirkne. typeof x == 'string'.
- "Hello"
- 'World'
Pārvērst par virkni var jebkuru cita datu tipa vērtību izmantojot kontruktoru String() vai funkciju toString().
var a = 8;
var b = a.toString(2);
console.log(b); // '1000'Ir iespējams saņemt virknes simbolu pēc indeksa, bet nomainīt to nav iespējams.
var a = 'ABC';
console.log(a[0]); // 'A'
a[0] = 'D';
console.log(a); // 'ABC'Virknes var apvienot ar operātora + palīdzību.
var a = 'abc';
a = a + 'd';
a; // 'abcd'"Virknes var salīdzināt ar operātoriem: < <= > >= != == "a' > 'A' // true 'a' <= 'b' // false 'a' == 'a' // true 'a' != 'A' // true"
Funkcija. typeof x == 'function'. Kaut kāda darbība kuru var izsaukt un izpildīt.
Funkcija bez argumentiem:
function myF(){ // funkcijas izveide
console.log("foo");
}
myF(); // funkcijas izsaukšana un izpildeFunkcija ar argumentiem:
function sum(a, b){ // funkcijas izveide
console.log(a + b); // 11
}
sum(5, 6); // funkcijas izsaukšana un izpildeĪpašība length atgriež cik argumentu pieņem funkcija.
console.log(sum.length); // 2Funkcija var atgriezt rezultātu pēc izpildes. Rezultāts var saglabāt un apstrādāt.
function sum(a, b){
return a + b;
}
var z = sum(5, 6);
console.log(x); // 11Svarīgi izsaucot funkciju sūtīt viņai tik daudz argumentu, cik tā pieņem. Gadījumā, ja argumentu skaits nesakrīt, būs kļūda.
Ja nav zināms cik argumentu tiek sūtīts funkcijai izsaucot to, tad var izmantot mainīgo arguments, kas ir massīvs ar visiem nosūtītiem funkcijai argumentiem.
function sum(){
var result = 0;
for (var i = 0; i < arguments.length; i++){
result += arguments[i];
}
return result;
}
console.log(sum(10, 45, 67, 28, 11, 38)); // 199Cikls ir jēdziens, ar ko apzīmē vairākkārtīgu kādas instrukciju kopas izpildīšanu.
Konstrukcija for sastāv no nosacījuma bloka un cikla ķermeņa. Nosacījuma blokā tiek noteiks nosacījums cik reizes ciklam ir jāatkārtojās. Cikla ķermeņa tiek noteikts viss kas tiks izpildīts katrā cikla iterācijā.
for (var i = 0; i < 10; i++) {
console.log("Hello world - " + i);
}Šeit i — cikla skaitītājs:
var i = 0— skaitītāja definēšana. Notiks tikai pirmajā iterācijā.i < 10— nosacījums. Ja nosacījums atgriežtrue, tad cikla ķermenis tiks izpildīts.i++— skaitītāja izmaiņa. Notiek katrā iterācijā pēc ķermeņa izpildes.
Ir arī iespēja paplašināt cikla nosacījumus un veikt darbības ar vairākajiem skaitītājiem.
for (var i = 0, j = 10; i < 10 && j > 0; i++, j -= 2) {
console.log("Hello world");
}Piemērs ar masīviem:
var arr = ["foo", "bar", "baz"];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}Līdzīgs for.
var i = 0;
while (i < 10) {
console.log("Hello world - " + i);
i++;
}un do…while:
var i = 0;
do {
console.log("Hello world - " + i);
i++;
} while (i < 10);While un do…while atšķirās ar to, ka while pārbauda nosacījumu pirms iterācijas izpildes, bet do…while — pēc. Sanāk ka do…while tiks izpildīts vismaz vienu reizi, piem. ja nosacījums no paša sākuma būs false.
var obj = { name: "Vasilijs", surname: "Žukovs", job: "developer"};
for (i in obj) {
console.log(i + ": " + obj[i] + "\n");
}Izvadīs:
name: Vasilijs
surname: Žukovs
job: developer
- (Vienkāršā galerija)[http://codepen.io/seleckis/pen/NRZyvQ?editors=0010]