500 likes | 787 Views
Web aplikāciju tehnoloģijas. JavaScript – valodas sintakse. Tipi. #1. Bāzes tipi. Number 0.3, 12 Boolean true, false String ‘hello’, “rinda” null undefined nav vērtības. Objekti. Objekti Array String Date Function. Bāzes tipi. Deklarācija: var orange=“ apelsīns ” Objekti:
E N D
Web aplikāciju tehnoloģijas JavaScript – valodas sintakse
Tipi #1.
Bāzes tipi • Number • 0.3, 12 • Boolean • true, false • String • ‘hello’, “rinda” • null • undefined • nav vērtības
Objekti • Objekti • Array • String • Date • Function • ...
Bāzes tipi • Deklarācija: • var orange=“apelsīns” • Objekti: • var orange = new String(“apelsīns”) • var ok = new Boolean(true) // nav labi • alert(“apelsīns”.lenght) • alert(typeof "test“) - string • alert(typeofnew String("test")) - object
Numbers – neprecīzi aprēķini • alert(0.1+0.2) // rezultāts nebūs 0.3! • Formāts – float64
Kļūdu maskēšana • 1/0 = Number.POSITIVE_INFINITY (+∞) • -1/0 = Number.NEGATIVE_INFINITY • Number(“not_a_number”) • =NaN (Not-a-Number, nav numurs)
Noapaļošana • 0.1234.toPrecision(2) = 0.12
Konvertēšana uz skaitli • var str = "002” • var a = Number(str)// 2 • +"0.1" // => 0.1 • +"0.1z" // => Number.NaN
Konvertēšana uz skaitli • // viss pēc skaitļa tiek ignorēts • parseFloat("0.1zf") = 0.1 • parseInt("08f.4", 10) = 8 • // šeit nav skaitļa • parseFloat("smth") = Number.NaN
Konvertēšana uz skaitli • parseInt("0x10") = 16 • parseInt("010") = 8 • parseInt("010",10) = 10
Matemātiskas funkcijas • Math.floor() / Math.round() / Math.ceil() - noapaļošana • Math.abs() – skaitļa modulis • Math.sin() – sinuss • u.t.t.
String • Visas rindas – ar Unicode kodējumu • ‘string’ – ok • “string” – ok • “zvaigzne: \u002a” • “hello world”.replace(/(.*?)\s(.*)/, "$2, $1!") • “hello world”.lenght
Boolean • Aplams: • False • Null • Undefined • “” • 0 • Number.NaN • Patiess: • все остальное • “0” • “false”
Konvertēšana uz loģisko tipu • Boolean(a) • !!a
Arifmetiski • + (arī konkatenācija) • - • * • / • %
Konkatenācija • alert(‘1’+1) • alert(1+’1’) • alert(1+1) • alert(1+true)
Bitu operācijas • & • | • ^ • >> • >>> • <<
Loģiskas • && • || • !
Salidzināšanas • == • != • < • > • <= • >= • === • !== • ?:
Skaitliskais masīvs (objekti) • Asociatīvais masīvs
Masīva izveidošana • var a = new Array() • var a = [] • var a = new Array("a", 1, true) • var a = ["a", 1, true] • var a = [] • a[1] = 1 • a[999999] = 2
Masīva izmērs • a.length • a[a.length] = "new element” • a.push("new element")
Masīva steks • vararr = [3,5,7] • arr.push(9) • var last = arr.pop()//= 9 • var last = arr.pop() // = 7 • alert(arr.length) // = 2 • vararr = [4,6,8] • arr.unshift(2) // arr = [2,4,6,8] • arr.unshift(0) // arr = [0,2,4,6,8] • var last = arr.shift() // last = 0, arr = [2,4,6,8] • arr.shift() // arr = [4,6,8]
Citas metodes • slice(begin[, end]) – apakšmasīvs • splice(index, deleteCount[, element1,…, elementN]) – izdzēst daļu no masīva un aizvietot ar jaunām vērtībām • join • reverse • ...
Funkciju izveidošana • FunctionDeclaration (ar vārdu) • Function vārds(parametri){ ...} • var a = sum(2,2)function sum(x,y) { return x+y }
Funkciju izveidošana • FunctionExpression (anonīmas) • var имя = function(parametri){…}...var vārds = new Function(parametri, '...') • var sum = function(x,y) { return x+y } var a = sum(2,2)
Funkcijas-objekti • function f() { ... }f.test = 6…alert(f.test) // 6 • function func(){varfuncObj = arguments.calleefuncObj.test++alert(funcObj.test)}func.test = 1 func() func()
Funkcijas parametri • var run = function(distance, speed) {speed = speed || 10 var time = distance / speed return time} • run(10) => 1 • run(10, 2) => 5 • run(10, 2, 5, 6, 7) => 5 • run() => undefined / 10 = NaN
Parametri • arguments – parametru objekts • arguments.lenght • arguments.[...] • arguments.callee
Cikls while • while(i<5) { … } • do { … } while (i<5)
Cikls for • for (vari=0;i<10;i++){ ... } • for(key in obj){ ... obj[key] } • // pārbaudam tikai savas īpašībasfor(var key in obj){if (!obj.hasOwnProperty(key)){ … obj[key] … }}
Atzīmes • outer:for(…){ …for (…){ … break outer;…continue outer; ...}}
switch konstrukcija • switch (obj){case "test“:…breakcase 5:…break outerdefault:…}
Izņēmumi (exceptions) • try{…throw {message: “Paziņojums“}...}catch (e){alert(“Apstrāde”)}
Klase Error • alert( (new Error()).stack )
finally • ...finally{ // izpildīsies vienmēr}
Tīmekļa lapas objekti • navigator • window • document • location • history • document.myform.text1.value • document.imageForm.aircraft.src='f15e.gif' • document.aircraft.src='f15e.gif'
window objekts • alert () • cofirm () • prompt () • blur () • focus () • scroll () • setTimeout() • location • status
Form • document.forms(x) • document.forms(x).elements(x)
Logu pārvaldīšana • window.open() • window.close() • <window_name>.<...>
Patstāvīgais uzdevums: • JavaScript objekti (hash) • AJAX • ECMA-262 standarts