JavaScript – valodas sintakse
Download
Report
Transcript JavaScript – valodas sintakse
Web aplikāciju tehnoloģijas
#1.
Number
0.3, 12
Boolean
true, false
String
‘hello’, “rinda”
null
undefined
nav vērtības
Objekti
Array
String
Date
Function
...
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(typeof new String("test")) - object
alert(0.1+0.2) // rezultāts nebūs 0.3!
Formāts – float64
1/0 = Number.POSITIVE_INFINITY (+∞)
-1/0 = Number.NEGATIVE_INFINITY
Number(“not_a_number”)
=NaN (Not-a-Number, nav numurs)
0.1234.toPrecision(2) = 0.12
var str = "002”
var a = Number(str) // 2
+"0.1" // => 0.1
+"0.1z" // => Number.NaN
// 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
parseInt("0x10") = 16
parseInt("010") = 8
parseInt("010",10) = 10
Math.floor() / Math.round() / Math.ceil() noapaļošana
Math.abs() – skaitļa modulis
Math.sin() – sinuss
u.t.t.
Visas rindas – ar Unicode kodējumu
‘string’ – ok
“string” – ok
“zvaigzne: \u002a”
“hello world”.replace(/(.*?)\s(.*)/, "$2, $1!")
“hello world”.lenght
Aplams:
False
Null
Undefined
“”
0
Number.NaN
Patiess:
все остальное
“0”
“false”
Boolean(a)
!!a
+ (arī konkatenācija)
*
/
%
alert(‘1’+1)
alert(1+’1’)
alert(1+1)
alert(1+true)
&
|
^
>>
>>>
<<
&&
||
!
==
!=
<
>
<=
>=
===
!==
?:
Skaitliskais masīvs (objekti)
Asociatīvais masīvs
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
a.length
a[a.length] = "new element”
a.push("new element")
var arr = [3,5,7]
arr.push(9)
var last = arr.pop() //= 9
var last = arr.pop() // = 7
alert(arr.length) // = 2
var arr = [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]
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
...
FunctionDeclaration (ar vārdu)
Function vārds(parametri)
{
...
}
var a = sum(2,2)
function sum(x,y) { return x+y }
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)
function f() { ... }
f.test = 6
…
alert(f.test) // 6
function func()
{
var funcObj = arguments.callee
funcObj.test++
alert(funcObj.test)
}
func.test = 1 func() func()
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
arguments – parametru objekts
arguments.lenght
arguments.[...]
arguments.callee
while(i<5) { … }
do { … } while (i<5)
for (var i=0;i<10;i++)
{ ... }
for(key in obj)
{ ... obj[key] }
// pārbaudam tikai savas īpašības
for(var key in obj)
{
if (!obj.hasOwnProperty(key))
{ … obj[key] … }
}
outer:
for(…)
{…
for (…)
{…
break outer;
…
continue outer;
...
}
}
switch (obj)
{
case "test“:
…
break
case 5:
…
break outer
default:
…
}
try
{
…
throw {
message: “Paziņojums“
}
...
}
catch (e)
{
alert(“Apstrāde”)
}
alert( (new Error()).stack )
...
finally
{
// izpildīsies vienmēr
}
navigator
window
document
location
history
document.myform.text1.value
document.imageForm.aircraft.src='f15e.gif'
document.aircraft.src='f15e.gif'
alert ()
cofirm ()
prompt ()
blur ()
focus ()
scroll ()
setTimeout()
location
status
document.forms(x)
document.forms(x).elements(x)
window.open()
window.close()
<window_name>.<...>
JavaScript objekti (hash)
AJAX
ECMA-262 standarts