Specialūs operatoriai
JavaScript taip pat turi ir specialius operatorius kurių sąrašas pateiktas žemiau:
- sąlyginis operatorius
- kablelio operatorius
- delete
- in
- instanceof
- new
- this
- typeof
- void
Sąlyginis operatorius
Sąlyginis operatorius tai vienintelis toks operatorius JavaScript kalboje kuris turi apima tris operandus. Operatorius paima viena iš dviejų reikšmių sąlygoje. Sintaksė:
salyga ? val1 : val2
Jei sąlyga TRUE, operatorius tuomet grąžina pirmą reikšmę val1. Kitu atveju paimama antra reikšmė val2. Šį operatorių galite naudoti betkur.
Pavyzdys
var tipas = (amzius >= 18) ? "paauglys" : "vaikas";
tipas kintamasis nustatomas paauglys jei jam jau yra 18, kitu atveju kintamasis nustatomas vaikas.
Kablelio operatorius
Kablelio operatorius papraščiausiai nustato abu operandus ir grąžiną reikšmę iš sekančio operando. Šis operatorius dažniausiai naudojamas for ciklo viduje taip leidžiant sudėtinius kintamuosius atnaujinti kiekvieną kartą.
Kapi pavyzdys, jeigu turime 2-erdvinius masyvus su 10 lementų viduje, žemiau pateiktas kodas naudoja kablelio operatorių pakeisti 2 reikšmes vienu kartu. Kodas grąžina reikšmes įstrižai:
for (var i=0, j=9; i <= 9; i++, j--) document.writeln("a["+i+"]["+j+"]= " + a[i][j])
delete
delete operatorius ištrina objektą, objekto reikšmę, elementą ar nustatytą raktą masyve. Sintaksė:
delete objPav delete objPav.property delete objPav[raktas] delete property
Kur yra objPav tai objekto pavadinimas, property egzistuojanti nustatyto objekto reikšmė, ir raktas masyvo raktas kurį reikia pašalinti.
Jūs taip pat galite naudoti delete operatorių ištrinti nustatytus kntamuosius, bet ne tuos kintamuosius kurie nustatyti var tipu.
Jei delete operatoriaus veiksmai pavyko, nustatoma objekto reikšmė kaip undefined. delete operatorius grąžina TRUE jei operacija galima; grąžina FALSE jei operacija negalima.
x = 42 var y = 43 Obj = new Number() Obj.h = 4 // sukuriama parametras h delete x // grąžina true (galima ištrinti nustatytą kintamajį) delete y // grąžina false (negalima ištrinti kintamojo nustatyto var tipu) delete Math.PI // grąžina false (negalima ištrinti neapibrėžtos reikšmės) delete Obj.h // grąžina true (galime ištrinti vartotojo nustatytą reikšmę) delete Obj // grąžina true (galima ištrinti jei apibrėžta netiesiogiai)
in
operatorius in grąžina TRUE jei nustatyta reikšmė nustatytame objekte egzistuoja. Sintaksė:
Reiksme in Objektas
Kur yra Reiksme kintamasis arba skaičius atitinkantis masyvo reikšmės pavadinimą, ir Objektas tai objekto pavadinimas.
Žemiau pateiktas operatorius parodo kaip veikia in operatorius:
// Arrays medziai = new Array("azuolas","berzas","klevas","liepa","obelis") 0 in medziai // grąžina true 3 in medziai // grąžina true 6 in medziai // grąžina false "berzas" in medziai // grą-ina false (turite nustatyti masyvo raktą, // o ne masyvo reikšmę) "length" in medziai // grąžina true (length tai masyvo reikšmė) // Neapibrėžtos reikšmės "PI" in Math // grąžina true Kint = new String("koralai") "length" in Kint // grąžina true // Įprasti objektai masinos = {make:"Honda",model:"Accord",year:1998} "make" in masinos // grąžina true "model" in masinos // grąžina true
instanceof
instanceof operatorius naudojamas tuomet kai norime sutikrinti pateiktą kintąmąjį su kintamojo nustatytu palyginimui tipu. Sintaksė:
ObjektoPav instanceof ObjektoTipas
Kur yra ObjektoPav tai objekto pavadinimas kuris susijęs su ObjektoTipas, ir ObjektoTipas objekto tipas, panašiai kaip Data (Date), masyvas (Array).
Naudokite šį operatorių tuomet kai norite patikrinti tipą vykdymo metu. Kaip pavyzdys kartais „gaudydami“ įvykius galite susimaišyti kas ką „gaudo“ tad ši dalis puikiai tinka atskirti įvykiu tipus.
Kaip pavyzdys, žemiau pateiktas kodas tikrina ar nustatytas kintamasis Data yra Datos (Date) objektas. Kadangi Data kintamasis yra Datos (Date) objekto dalis, tuomet bus įvykdomas sąlygos sąkinys.
Data = new Date(1995, 12, 17) if (Data instanceof Date) { // Sąlyga kurią reikia įvykdyti }
Discussion