Ogólne

ECMA-262

Core Java Script

Typy zmiennych

Dynamiczne typowanie (jak w PHP) Ciekawostka:
"37" - 7 // returns 30
"37" + 7 // returns 377
Zmienna zdeklarowana przez var ma przypisaną wartość undefined

Stałe

Wyrażenia i operatory

Podstawowe: Inne:
condition ? val1 : val2
i++, j--
objectName = new objectType ( param1 [,param2] ...[,paramN] )
this[.propertyName]
typeof operand
void expression
Delete
x=42
var y= 43
myobj=new Number()
myobj.h=4      // create property h
delete x       // returns true (can delete if declared implicitly)
delete y       // returns false (cannot delete if declared with var)
delete Math.PI // returns false (cannot delete predefined properties)
delete myobj.h // returns true (can delete user-defined properties)
delete myobj   // returns true (can delete user-defined object)

Wyrażenia regularne

Tworzenie
re = /ab+c/
re = new RegExp("ab+c")
Znaczenia:
^początek linii
$koniec linii
*0 lub więcej razy
+1 lub więcej razy {1,}
?0 lub 1
.cokolwiek oprócz nowej linii
(x)x zapamiętując na zmiennej
x|yx lub y
{n}n razy
{n,}n lub więcej razy
{n,m}n do m razy
[xyz]jeden z xyz (można również [1-6])
[^xyz]nie jeden z xyz
\?dodatkowe znaczenia (białe znaki, etc.)
Przykład:
<HTML>
<SCRIPT LANGUAGE = "JavaScript1.2">

re = /\(?\d{3}\)?([-\/\.])\d{3}\1\d{4}/

function testInfo() {
   OK = re.exec()
   if (!OK)
      window.alert (RegExp.input + 
         " isn't a phone number with area code!")
   else
      window.alert ("Thanks, your phone number is " + OK[0])
}

</SCRIPT>

Enter your phone number (with area code) and then press Enter.
<FORM> 
<INPUT TYPE="text" NAME="Phone" onChange="testInfo(this);">
</FORM>

</HTML>

Instrukcje

if (condition) {
   statements1 
}
[else {
   statements2 
} ]

switch (expression){
   case label : 
      statement;
      break;
   case label : 
      statement;
      break;
   ...
   default : statement;
}

for ([initialExpression]; [condition]; [incrementExpression]) {
   statements
}

do {
   statement
} while (condition)

while (condition) {
   statements
}


// This is a single-line comment.

/* This is a multiple-line comment. It can be of any length, and
you can put whatever you want here. */

Funkcje

function square(number) {
   return number * number;
}

Server side

JavaScript - schemat tworzenia strony po stronie serwera

Client side

JavaScript - działanie strony po stronie klienata