2. Основы JavaScript


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.

null
32-
(
�� (
��� (
: alert, prompt, confirm
: if, '?'
, else
, else if
'?'
'?'
'?'
|| (
&& (
! (
while, for
break
continue
: break
: continue
switch
,
pow(x, n)
,
: str.length, str.toUpperCase()
: num.toFixed
:
JavaScript








,



.
,




JavaScript
JavaScript Ç
JavaScript
.




:



-



-

,

:



.




/* ... */
Ñ


.
); alert(
alert(
'
'
);
2
alert(
'
'
);
alert(
'
'
)
2
alert(
'
'
)
//
"
);
//
/*
-
/*



!




:





Ñ





.

,




:





È,
JavaScript
IE


.


alert(
'
'
);
); /*
?!? */
); /*
?!? */
'
'
);


Ñ


,
.
.


JavaScript,






.






,





JavaScript.



,




,



.



-


,
.

-
,


.


,

.







,


.


,

,





:





:














:








:





,



Ç
È


.
,

-

,




"
:





,

-

.






:

message;
message =
;
//
message =
alert(message);
//
message =
message =
message =

//
),
Erlang
JavaScript




.
Ç
È


:














.


JavaScript
,




:
,



,



-


.




.






alert(message);
num = 100500;
message =
num = 100500;
message =
message = num;
x =
;
//
,

.


IE
IE
.

IE9
,

È Ñ
IE9,
.






.



,






.
,





.


alert(test); //



test = 5;


:
2
:


1
.


:


.
2
.




"
.
.





.
Ñ

,



.

,


,

.
:
,



,




.




.


?







?
1
.
-
,
Ñ


,




.
2
.
-
,






,





Ñ



.





,





.
.
JavaScript


2
.





.
:



-









,

:





:
.

" ÈÈ
COLOR_BLUE =
COLOR_RED =
COLOR_GREEN =
COLOR_ORANGE =
alert(COLOR_RED);
// #0F0

myName;
var

test123;
$ = 5;
//
'$'
_ = 15;
//
'_'
1a;
//






-


.

,






:
,


,









.



,




,





,
:
JavaScript,
..
..
?..
1.

.

.
:
:
my-name;
//
'-'
=
class = 5;

moiTovari;
var

cena;
var

ssilka;

myGoods;
var

price;

link;





-





É
2.






Ç

È.


,



,

,
,
,
-




,









.

,




.





.
3.






, ÇcamelCaseÈ.
JavaScript
È Ñ
.

,
.









.


-



,


,





.




,








.

,



,





,



-
.
,

-

Ç
ÉÈ
É


,

,





,

:
.



,

,
,

,






:
.



.


,


-




,


.

,




,




È,






.




borderLeftWidth;

border_left_width;
..
Variable Names
JavaScript
:






,




.




(
)

).





:






,
:
2
.

:
:
3
:

1
.







"
.



.
2
.







" ÈÈ
n = 123;
n = 12.345;
alert( 1 / 0 );
// Infinity
alert(
* 2 );
// NaN,
str =
JavaScript
JavaScript
.
,

,

..
3
.
(
)

.




-
(
)

(
).

,







/
,
:





,






.
4
.
È.







,




,



JavaScript
È,

.
5
.
Ñ

,
,


,



.

Ç


È.


,





,






:






,



:






,





.


Ç

È

.
6
.

.
5


Ç
È
.



:
Ç
È
.


,
,
,







.
5 Ç
È
:
,
,
,
,



.
str =
checked =
;
//
checked =

//
age =
alert(u);
//
"undefined"
x = 123;
x =

, JavaScript
», «
», «
Ñ
,



.
:
5 * 2


,




.
,



"-"


,




.






:





JavaScript
,

,
,

.
:

:






,





.


a % b


,






,





:
x = 1;
alert( -x );

// -1,
alert( -(x+2) );
// -3,
x+2
alert( -(-3) );
// 3
x = 1, y = 3;
alert( y - x );
// 2,
alert(2 + 2);
// 4
i = 2;
i = (2 + i) * 3 / i;
alert(i);
// 6
alert(5 % 2);
// 1,
5
2
alert(8 % 3);
// 2,
8
3
alert(6 % 3);
// 0,
6
3
a =
+






,





!


,




-
,





.
:



Ñ



.











.
:


È Ñ
:


,


,



.











:





,



(
.
.
),
.
alert(a);
//
alert(
+ 2 );
// "12"
alert( 2 +
);
// "21"
alert(
- 2 );
// -1
alert( 6 /
);
// 3
alert( +1 );
// 1
alert( +(1-2) );
// -1
a =
b =
alert( a + b );
// "23",
alert( +a + b );
// "23",
-
alert( +a + +b);
// 5,
,
i = 1 + 2;
alert(i);
// 3
a = 1;
b = 2;
a = b + a + 3;
// (*)
alert(a);
// 6



:



-
,






,


,


b = c
a = b





.

x =
,



.








:




(a = b + 1)
(
.
.
).
.


,


?
,


Ñ

,



Ñ


,







.


,





-



.



,




2 * 2 + 1
JavaScript Ñ
5
6
6
17
É
É
É




.


x = 2 * 2 + 1
,




.




,


,



,


,


Ñ

,

17.
a, b, c;
a = b = c = 2 + 2;
a = 1;
b = 2;
c = 3 - (a = b + 1);
alert(a);
// 3
alert(c);
// 0
/
:
++, --
JavaScript,



1:

--


.






,



:
È)


È).








:


.


,



.





,




/

,







.
:






,






.

,





.







,


,


.








,

:




,



/

Ñ

,


:





,



:
i = 2;

//
i = i + 1.
alert(i);
// 3
i = 2;
i--;

//
i = i - 1.
alert(i);
// 1
i = 1;
a = ++i;
// (*)
alert(a);
//
i = 1;
a = i++;
// (*)
alert(a);
//
i = 0;
alert(i);
// 2
i = 0;
alert( ++i );
// 1


,





Ñ

:
32-
JavaScript,
) (
)
) (
)


) (
)
) (
)
LEFT SHIFT(
)
RIGHT SHIFT(
)
ZERO-FILL RIGHT SHIFT(
)











.


i = 0;
alert( i++ );
// 0
i = 1;
alert( 2 * ++i );
// 4
i = 1;
alert( 2 * i++ );
// 2,
i = 1;
alert( 2 * i );
" ÈÈ
a = 1, b = 1, c, d;
c = ++a; alert(c);
// 2
d = b++; alert(d);
// 1
c = (2+ ++a); alert(c);
// 5
d = (2+ b++); alert(d);
// 4
alert(a);
// 3
alert(b);
// 3











,
:







:
+=, -=, *=, /=, ��=, =, &#x=,-3;.1 ;�.60;&#x=,-3;.1 ;�.60;&#x=,-3;.1 ;�.60;=, &=, |=, ^=
.


Ñ


,


,

.
Ñ

,



.

a = (5,6)




,


(a=5), 6
JavaScript-
n = n + 5;
d = d * 2;
n = 2;
n += 5;
//
n=7 (
n = n + 5)
n *= 2;
//
n=14 (
n = n * 2)
alert(n);
// 14
:
3
:




" ÈÈ
a = 2;
x = 1 + (a *= 2);
a = (5, 6);
//
a = 1, b = 3, c = a*b
; a 10; a++) {






:
/
:
a � b
a b
/


:
a �= b
a = b

a == b
.


a = b
È.
JavaScript Ñ
.




,


.




.




:
È, Ç
È, Ç
È, Ç
È, Ç
). JavaScript
Unicode.
Unicode
alert( 2 � 1 );
// true,
alert( 2 == 1 );
// false,
alert( 2 != 1 );
// true
a =
;
//
b = 3 � 4;
// false
alert( b );
// false
alert( a == b );
// (true == false)
,
false
alert(

);
// true

);
// true,
:





Ñ



,


:

Ñ


.





:






:



.








.
,

,


.
,


,




,

.
:






,



,





.








.
,


: toString


:


,







?









(

)

.




.


,




(
):
alert(

alert(

);
// true,
. '
' � '
alert(

);
// true,
'
'
"
alert(

);
// true,
,
2
14
alert( +
� +
);
// false,
alert(
� 1 );
// true
alert(
== 1 );
alert(
== 0 );
// true, false
0,
true 1.
alert(0 ==
);
// true,
. false
0







,





� = &#x=-42;&#x.9 0;&#x.600;=
.

,



,



!


-
.
1
.
















.







.
2
.






,



.


.







:
,

,







.

É


?


Ç



È
,


,


,

.




.


,







�= � =





:



,


-

.









,




.





:






,






.






,





.




,





,






.
:



,


,



.




�= � =
alert(0 ===
);
// false,
.
� 0);
// false
== 0);
// false
�= 0);
//
� 0);
// false (1)
0);
// false (2)
== 0);
// false (3)
JavaScript
(
)

).


.







,



(
).












.

(


,
)



,







32
).
32
32-
JavaScript
32-
Ç32-
32
).
32-
EcmaScript
a = 0;
// 00000000000000000000000000000000
a = 1;
// 00000000000000000000000000000001
a = 2;
// 00000000000000000000000000000010
a = 3;
// 00000000000000000000000000000011
a = 255;
// 00000000000000000000000011111111


Ñ





.


,

(
,


-5
.





,



.
,


:


-314


,



:

Ñ





,

:
11111111111111111111111011000101 + 1 = 11111111111111111111111011000110
Ñ

,

Ñ

.




.







.




.

(AND)
a & b
a | b
a ^ b




.

a b




,


.

,

a �� b




,


.



a ��� b


32-
-314 = 11111111111111111111111011000110





,



.
& (
a & b




.



:
a & b
| (
a | b
1,

1.



:
a | b
^ (



1,



,




.




:
a ^ b
9 (
. 10)

= 00000000000000000000000000001001 (
. 2)
14 (
. 10)

= 00000000000000000000000000001110 (
. 2)

--------------------------------
14 & 9 (
. 10)

= 00000000000000000000000000001000 (
. 2)

= 8 (
. 10)
9 (
. 10)

= 00000000000000000000000000001001 (
. 2)
14 (
. 10)

= 00000000000000000000000000001110 (
. 2)

--------------------------------
14 | 9 (
. 10)

= 00000000000000000000000000001111 (
. 2)

= 15 (
. 10)
1,
,

,


.


Ç

È.
:








,




.









.

,

:
a ^ b ^ b == a
.




,





.









.
:








data ^ key



,



,





. JavaScript
32-





.

data ^ key




,




.
,




,





^ key




.


:
9 (
. 10)

= 00000000000000000000000000001001 (
. 2)
14 (
. 10)

= 00000000000000000000000000001110 (
. 2)

--------------------------------
14 ^ 9 (
. 10)

= 00000000000000000000000000000111 (
. 2)

= 7 (
. 10)
: 9

: 1220461917
9 ^ key:

10-
(




:
XOR
~ (
:
-






,

~n == -(n+1)
(
9 2
:
(
,
9 ^ key = 1220461908

: 1220461917
1220461917 ^ key:
10-
(
9 (
. 10)

= 00000000000000000000000000001001 (
. 2)

--------------------------------
~9 (
. 10)

= 11111111111111111111111111110110 (
. 2)

= -10 (
. 10)
alert(~3);
// -4
alert(~-1);
// 0
9 (

= 00000000000000000000000000001001 (

--------------------------------
9 2 (

= 00000000000000000000000000100100 (

= 36 (




,

.

-


.



-





,


,

(

-

)

.


Ç

È.
,
9 �� 2
:
,
-9 �� 2
-3
(
0,
-9 ��� 2
,


-9 �� 2
-3
Ñ

.
Ñ

.
Ñ

.






,




:
9 (

= 00000000000000000000000000001001 (

--------------------------------
9 �� 2 (

= 00000000000000000000000000000010 (

= 2 (
-9 (

= 11111111111111111111111111110111 (

--------------------------------
-9 �� 2 (

= 11111111111111111111111111111101 (
.2) = -3 (
-9 (

= 11111111111111111111111111110111 (

--------------------------------
-9 ��� 2 (

= 00111111111111111111111111111101 (

= 1073741821 (

Ç
È

È Ñ
= 20
= 30
= 31
,



:
00001 (=1)

,


).
,



:
00010 (=2)
,



:
00100 (=4)
,



:
01000 (=8)
,



:
10000 (=16)
access = 11000
JavaScript







parseInt(..., 2)



.




(
) .


,








.







-



,




,




,


Ñ

.




.
,




:
access = parseInt(
, 2);
// 24
10-
alert(access);
// 24
access2 = access.toString(2);
alert(access2);
// 11000,
ACCESS_ADMIN = 1;

// 00001
ACCESS_GOODS_CHANGE = 2;

// 00010
ACCESS_GOODS_VIEW = 4;

// 00100
ACCESS_ARTICLE_CHANGE = 8;
// 01000
ACCESS_ARTICLE_VIEW = 16;
// 10000
access = 0;
//



:


,

,






,

Ñ






(
)

.
:









:


,









,





.


access & 1





,


.










.




,







.






(
)

(=
10-







,



(=
10-






,




,






.

Ñ


,


.
,



Ç
È








,

,



(
),

access = access | ACCESS_GOODS_VIEW;
//
access = access | ACCESS_GOODS_CHANGE;
//
alert(access.toString(2));
// "00110"
alert(access);
//
6
access = ACCESS_GOODS_VIEW | ACCESS_GOODS_CHANGE;
access = parseInt(
, 2);
// 31,
alert(access & ACCESS_ADMIN);
//
0,
access = parseInt(
);
// 20,
1
alert(access & ACCESS_ADMIN);
// 0,
adminAccess = 31;
// 111
alert(adminAccess & ACCESS_GOODS_CHANGE);
//
0,
check = ACCESS_GOODS_VIEW | ACCESS_GOODS_CHANGE;
// 6, 00110
access = 30;
// 11
alert(access & check);
//
0,
access = parseInt(
, 2);
alert(access & check);
//
0,

.






,




Ç
È,
.
.

.
:





,




.



,




.
,

(
):



(
)

:



,


:





,





:


È)
.

Ñ


(
).
-n = ~n + 1
~n = -(n+1)
~n == 0
n == -1
n == -1
-1
")





,

-1
//
findUsers(ACCESS_GOODS_CHANGE | ACCESS_ADMIN);
alert( ~~12.345 );
// 12
alert( 12.345^0 );
// 12
alert( 12.3 * 14.5 ^ 0);
// (=178) "12.3
14.5

alert( 1.1 + 1.2 ^ 0 );
// 2,
n = 5;
(~n) {
//
,
. ~n = -(5+1) = -6

"n
-1"
);
//
n = -1;
(~n) {
//
,
. ~n = -(-1+1) = 0

str =
)) {
//
"if (~...indexOf)"
"







a b


:

a �� b




:
& | ^ &#x-42.; 0.;怀&#x-42.; 0.;怀 &#x-42.; 0.;怀&#x-42.; 0.;怀&#x-42.; 0.;怀



:
.

,




:
È)
.

,







,


.
:
(12.34^0) = 12



-1
if (~n) { n
-1 }
alert( 1 2 );
// 1*(2*2) = 4
alert( 1 3 );
// 1*(2*2*2) = 8
alert( 3 3 );
// 3*(2*2*2) = 24
alert( 8 �� 2 );
// 2 = 8/4,
2
alert( 11 �� 2 );
// 2,
(
" ÈÈ
alert( 123 ^ 0 );
// 123
alert( 0 ^ 123 );
// 123
alert( ~~123 );
// 123
:
3
:
,




,


,

Ñ

,

" ÈÈ
alert( isInteger(1) );
// true
alert( isInteger(1.5) );
// false
alert( isInteger(-0.5) );
// false
^, |, &?





?
a ^ b == b ^ a
: alert, prompt,
,


,



,


.
:
.,
prompt
,



,



OK,
ESC


,


-




,

.





,


.
a & b == b & a
a | b == b | a
^, |, &?" ÈÈ
:
5
:


?


?" ÈÈ
alert( 123456789 ^ 0 );
// 123456789
alert( 12345678912345 ^ 0 );
// 1942903641
)
alert(
"
"
);
result = prompt(title,
years = prompt(
?'
, 100);
'
+ years +
'


,

IE
.



IE
,




:





:
:





: OK
OK
-
CANCEL(Esc).
:


,





,





.





.


Ñ

,
.
.





.


,






,


,




Ñ



,


.










.




,


,

Ç
È



.


.




,



,





,


(CANCEL/Esc).
ÇOKÈ
ÇCANCELÈ
.
test = prompt(
test = prompt(
,
);
// --
result = confirm(question);
isAdmin = confirm(
-
?"
" ÈÈ
: if, '?'
,



,



.



.
:


È)
year != 2011
,


.





Ñ





:




,



.



.




if (...)
,


,


,



,

Ñ
.
,




:
É

Ñ

:




if (year != 2011)
year = prompt(
ECMA-262 5.1?'
,
(year != 2011) alert(
(year != 2011) {


(0) {
// 0
false

(1) {
// 1
true

cond = (year != 2011);
// true/false
(cond) {

if (
?
) {


,


È)
else if
else if ...
JavaScript
.
"if (
)" ÈÈ
year = prompt(
ECMA-262 5.1'
,
(year == 2011) {

}

);
//
,
2011
year = prompt(
ECMA-262 5.1?'
,
(year 2011) {

}
(year � 2011) {

}

,
JavaScript?È.
ÇEcmaScriptÈ,
!È,
? ÇEcmaScriptÈ!È.
" ÈÈ
:
2
:



,



,


:
,



,



'?'
'?'
1
-1
" ÈÈ
:
3
:


,



(
È,
È,
È,
!È,
È,





" ÈÈ
age = prompt(
?'
,
(age � 14) {

access =
}

access =
?
1 :
2
,
:

'?'
..
'?'
:

È

Ñ

,





,







-
.



Ç

È
.


'?'





'?'
!




a == 1
1
,

Ñ


a == 2
2
,


a � 2
..
4
.



:
access = (age � 14) ?
:
access = age � 14 ?
:
access = age � 14;
'if'
'?'




'?'
'if'
'?'" ÈÈ
(a + b 4) {

result =
}

result =
a = prompt(
'a?'
, 1);
res = (a == 1) ?

(a == 2) ?

(a � 2) ?

var

res;


'?'
'?'
:


:



,



,



'?'


).






.


,






,




.
,

,




JavaScript
),
(
)

(
).

(a == 1) {

res =
}
(a == 2) {

res =
}
(a � 2) {

res =
}

res =
'if..else'
'?'





'?'
'if..else'
'?'" ÈÈ
(login ==
) {

message =
}
(login ==
) {

message =
}
(login ==
) {

message =
}

message =
company = prompt(
JavaScript?'
,
(company ==
company = prompt(
JavaScript?'
,
(company ==
JavaScript




.
(
)







:







: Ç





,


,
Ñ
JavaScript




,

Ñ

:





JavaScript
a || b || c || ...
,




(




Ñ
),


:
result = a || b;
alert(
||
);
// true
alert(
||
);
// true
alert(
||
);
// true
alert(
||
);
// false
( 1 || 0 ) {
//
if( true || false )

hour = 9;
(hour 10 || hour &#x-21.; 0.;ؐ-;B.8;&#x 0.5;&#x||-4;.8 ;�.6h;&#xour-;8.1;&#x 0.5; 18) {

10
18
hour = 12, isWeekend =
(hour 10 || hour &#x-21.; 0.;ؐ-;B.8;&#x 0.5;&#x||-4;.8 ;�.6h;&#xour-;8.1;&#x 0.5; 18 || isWeekend) {

10
18
var

x;
2

3
|| (x = 1);
//
,
if
alert(x);
// undefined, x





Ñ
,




,



:

,


,





,

Ñ

.




,



.
:

,

,


Ç
È


(
)






:





,



,
Ñ
:
var

x;
2

3
|| (x = 1);
alert(x);
// 1
alert( 1 || 0 );
// 1
alert(
||
);
// true
alert(
|| 1 );
// 1
alert(
|| 0 );
// 0
undef;
//
,
.
undefined
zero = 0;
emptyStr =
msg =
result = undef || zero || emptyStr || msg || 0;
alert(result)
//
"
!" -
,
true
alert (
alert (
)?" ÈÈ
alert( alert(1) || alert(2) || 3 || alert(4) );
result = a && b;
alert(
&&
);
// true
alert(
&&
);
// false
alert(
&&
);
// false
alert(
&&
);
// false
hour = 12, minute = 30;
(hour == 12 && minute == 30) {

12:30'
È,
,






.
Ñ




.
:




,


,
.
.


.








:
1 && 0 = 0










,
:









,



.

,





.

:
,

,




.


,



.
,
,






.
(
)
( 1 && 0 ) {
//
true && false

,
.
//
- true,
//
alert(1 && 0);
// 0
alert(1 && 5);
// 5
//
- false,
//
,
&& 5);
// null
alert(0 &&
);
// 0
alert (
alert (
)?" ÈÈ
alert( alert(1) && alert(2) );
alert(5 || 1 && 0);
// 5
x = 1;
(x � 0) && alert(
x = 1;
(x � 0) {


Ñ

.



.
:

:
1
.






while, for
result = !value;
alert( !
)
// false
alert( !0 )
// true
alert( !!
// true
alert( !!
)
// false
if




,







.
Ç
È
,



,







if
" ÈÈ
if




,

14
90
if
" ÈÈ
:
5
:

"if"




,
.
.
?






"if"" ÈÈ
(-1 || 0) alert(
(-1 && 0) alert(
|| -1 && 1) alert(
// 1.
,
// 2.
false || 1
1
|| 1) alert(
10




.





-

.




:


Ñ




.
,





i 3
È.





,



(

)
.

,


Ç
È




.





:





,


while (i!=0)
while (i)






,


:
,

,


,



.
:



,
.
.


Ñ



) {

//
,
i = 0;
(i 3) {


) {

// ...
i = 3;
(i) {
//
i=0
false


i--;

//
}
i = 0;


}
(i 3);





,





.





.

:
,







(


):






.





.





,



.





:





.
,


:



:





,


:









,


.
" ÈÈ
i = 3;
(i) {

alert(i--);
;
;
) {
// ...
...
(i=0; i3; i++) {


(
i=0; i3; i++) {

i = 0;
(; i3; i++) ...
i = 0;
(; i3; ) {
//
while (i3)
(;;) {

//












,




.
while?
while?" ÈÈ
i = 0;
(++i 5) alert(i);
i = 0;
(i++ 5) alert(i);
for?
for?" ÈÈ
i=0; i5; i++) alert(i);
i=0; i5; ++i) alert(i);
for


for
while" ÈÈ
:
5
:

,



,




,

.




Ñ



,

.









,

Cancel (ESC).
" ÈÈ
break


.
:










,
,


.



.
,







:




,


.

:






.
,




:




,






.



,


,





.
,




,



:
(1) {



(i==5)

i = '
+ i );
// 5 (*)
i = 0; i 10; i++) {


(i % 2 == 0)

i = 0; i 10; i++) {


( checkValue(i) ) {

//
checkValue
,
i

// ...

// ...

// ...

// ...

// ...

// ...

,






,





.




break/continue
Ô?Õ





'?'


.




,




'?'
'?'
.





:







.
,




.






(i, j)
i,j = 0..2


i = 0; i 10; i++) {


( !checkValue(i) )

//
,
i

// ...

// ...

// ...

// ...

// ...

// ...
) {

}

? a() : b();
(i � 5) ? alert(i) :
i = 0; i 3; i++) {

j = 0; j 3; j++) {


,


,




.











.




?


Ñ

.



:"
,



.



,

:






.

break outer






.






.







,

:


,



,




,


Goto?
,






.

JavaScript
.


input = prompt(
"
+ i +
+ j,

(input ==
)
;
// (*)

outer:
i = 0; i 3; i++) { ... }
i = 0; i 3; i++) {

j = 0; j 3; j++) {


input = prompt(
'
+j,

(input ==
)
;
// (*)

my: {

(;;) {

(i=0; i10; i++) {

�(i4)




some_code;
//
my"
);
// (*)
switch






.
Ñ









:








,




.
Ñ switch


,


(



).





.





Ñ
c
(

)

.



(


):
1,
.

,
-
,









n-1


.


:
P.S.
" ÈÈ
(x) {

// if (x === 'value1')


break]05    06      
// if (x === 'value2')


break]09    10      


a = 2+2;
(a) {










,

.



.



Ñ


,




.
:






.





,








.
:

case
case 3
case 5





a = 2+2;
(a) {








'

!'
);
alert(
'
'
);
alert(
'




'
);
a = 1;
b = 0;
(a) {





,
a = 2+2;
(a) {





// (*)


// (**)



case 3






,



,



case 5
0, 1, 2, 3?







,









')
.


,



case '2'
.


,



.


,




,

.

.




,



.



case null


"if",
,


"if",
"switch"" ÈÈ
(browser) {


,
IE!'






,



,
arg = prompt(
arg?"
(arg) {













: '
+ arg)












.
,





,



,

-
.










,

.

Ç

È
.





Ñ

,
prompt(message, default)
.




.

:




,



,



(




)


Ñ
,




.




,
:





.






:



.







Ñ




:

,


.

:
4
:
if'

switch






switch" ÈÈ
a = +prompt(
'a?'
,
(a == 0) {

(a == 1) {

(a == 2 ||
a == 3) {

showMessage() {

showMessage() {





,


.




:

,
,
,
,






.





,







.
:
,








.








.







,





:






,
:





,



.

,



,





:
showMessage() {

message =
,
-
;
//

showMessage();
// '
,
-
alert(message);
// --
,
.
count() {

i=0; i3; i++) {

j = i * 2;


alert(i);
// i=3,

alert(j);
// j=4,
,
,
i=2
count() {

i, j;
//
var

(i=0; i3; i++) {

j = i * 2;


alert(i);
// i=3

alert(j);
// j=4
var

=
showMessage() {

message =
,
'
+

showMessage();
//
,
var

=
showMessage() {

userName =
;
// (1)

message =
,
'
+

,



,


,





var userName
JavaScript



,


.
,




JavaScript
JavaScript,

alert(userName);
//
,
showMessage() {

message =
;
//
var!
alert(message);
//
function

showMessage(
from, text
) {
//
from, text





.














,
.
.



:








.
,



showMessage(from, text)
È,
,


Ñ





.





.
2
.


:


,


,



,
,


,





.


from =
"** "
+ from +
" **"
;
//

alert(from +
+ text);
,
,
?'
showMessage(from, text) {

from =
+ from +
// (1),
from

alert(from +
+ text);
from =
, msg =
;
// (2)
showMessage(from, msg);
//
alert(from);
//
(1)
"
"
);
showMessage(from, text) {

(text ===
) {

text =


alert(from +
": "
+ text);
,
);
//
:
);
//
:
showMessage(from, text) {

text = text ||




,

,
", "
", 1, 2, 3)
,





-
arguments
.









.


:
JavaScript-
,







- 4ac
calcD(a, b, c) {

checkAge(age) {

(age � 18) {

"else"?
,




.










.

,










,






-

,


"else"?" ÈÈ
checkAge(age) {

(age � 18) {

checkAge(age) {

(age � 18) {

'?'
,




.










.

,





,


,


.




:
1
.


'?'
'?'
'||'" ÈÈ
checkAge(age) {

(age � 18) {

showMovie(age) {

(!checkAge(age)) {


,






:

,


.


.

,




Ñ
-

:
,


)




.

Ñ
.



,



,


.
doNothing() { /*
*/ }
alert( doNothing() );
// undefined
doNothing() {


//
show, "
"
,


jQuery



,


Prototype
Ñ
Underscore
.

:




















.





.











.

,





:





Ñ






.




,


,






,






.

:






,


.




,



,


.
Ñ

,



,

,

.





.











,
,
) {

ÇHello WorldÈ


,





min" ÈÈ
min(2, 5) == 2
min(3, -1) == -1
min(1, 1) == 1
:
pow(x,n)
,










.

Ñ




.


.




,



,




.

pow(x, n)




Ñ








:



.

= x * x
n-1

-

.

,




pow(x, n-1)
.



.
,

pow(2, 4)
pow(2, n)
2 * pow(2, n-1)






.




,

,

pow(x,1) == x




È.
:
4


,





.
,








.

,




,




P.S.
,
.
.


pow(x,n)" ÈÈ
pow(3, 2) = 3*3 = 9
pow(3, 3) = 3*3*3 = 27
pow(1, 100) = 1*1*...*1 = 1
pow(x, n) {

result = x;

i=1; in; i++) {

result *= x;


pow(2, 4) = 2 * pow(2, 3);
pow(2, 3) = 2 * pow(2, 2);
pow(2, 2) = 2 * pow(2, 1);
pow(2, 1) = 2;
pow(x, n) {

//
n!=1,
pow(..,n)
pow(..,n-1)

,






.




.





.



,


.







10
È (execution context).
pow(2, 3)
,


,
.




,


:
: { x: 2, n: 3 }
pow(2, 2)



,


,
),
: { x: 2, n: 3 }
: { x: 2, n: 2 }
pow(2, 1)
,


Ñ


,
.


,



: { x: 2, n: 3 }
: { x: 2, n: 2 }
: { x: 2, n: 1 }
pow(x, n) {



pow(2, 1)
pow(2, 1)




,

.








,


:
: { x: 2, n: 3 }
: { x: 2, n: 2 }
pow(2, 2)
pow(2, 2)
pow(2, 2)
.


:
: { x: 2, n: 3 }
pow(2, 3)
pow(2, 3)
pow(2, 3) = 8
È,





.






:






,







.






.

,



.
É




?


,







!





,



,


,



.









,


É

,



.






.
pow(x, n) {

result = x;

i=1; in; i++) {

result *= x;





:


.



.



.


:
5
:






,






1

,
:



:
1
.


.
2
.

,
.
.
sumTo(n) = n + sumTo(n-1)
n � 1
" ÈÈ
sumTo(1) = 1
sumTo(2) = 2 + 1 = 3
sumTo(3) = 3 + 2 + 1 = 6
sumTo(4) = 4 + 3 + 2 + 1 = 10
sumTo(100) = 100 + 99 + ... + 2 + 1 = 5050
sumTo(n) { /*...
... */ }
alert( sumTo(100) );
// 5050
Факториа
È,




:




:
Ñ


,




,


.
n! = n*(n-1)*(n-2)*...*1
1! = 1
2! = 2*1 = 2
3! = 3*2*1 = 6
4! = 4*3*2*1 = 24
5! = 5*4*3*2*1 = 120
alert( factorial(5) );
// 120
JavaScript,


È,
È.




,

:





,





:




(
È,
) Ñ Ç

È.
:




.








,










(

:

,





n * (n-1)!
3! = 3*2! = 3*2*1! = 6
" ÈÈ
:
5
:





= F
n-1
+ F
n-2
,

,

,



:
1, 1, 2, 3, 5, 8, 13, 21...
,


n-
" ÈÈ
fib(n) { /*
*/ }
alert( fib(3) );
// 2
alert( fib(7) );
// 13
alert( fib(77));
// 5527939700884757
alert(
,
.length );
// 12
hello =
,
alert( hello.toUpperCase() );
// "
,

):


JavaScript
JavaScript.


:





,




.





-

:
"function toUpperCase() { [native code] }"
JavaScript,



,






,


n = 12.345;
alert( n.toFixed(2) );
// "12.35"
alert( n.toFixed(0) );
// "12"
alert( n.toFixed(5) );
// "12.34500"
alert( 12.34.toFixed(1) );
// 12.3
alert( 12.toFixed(1) );
//
alert( 12..toFixed(1) );
// 12.0
hello =
alert( hello.toUpperCase );
// function...
hello =
alert( hello.toUpperCase() );
// "
" (
JavaScript
// ...
/* ... */


.



:
5 Ç
È


:





(
)

.








,

.



Ç



/
È

-

.



.

,



,



.
:


Ç


È.
:
); alert(
alert(
'
'
)
2
alert(
'
'
)
a = 2
alert(a);
// 5
x = 5;
x =
x = 1;

//
x =

//
,
x =

//
true/false
x =

//
.
(
x =

//
.
(
age =
;
//
alert( x );
// undefined





:
x = undefined









,

JavaScript





.









,




.





[,




,

,


Ç
È.
confirm(
)

È, Ç
È.
: alert, prompt, confirm





.



Ñ
,





:




,


.






.


== = &#x=-42;&#x.9 0;&#x.600; &#x=-42;&#x.9 0;&#x.600;=









.


null == undefined


(

)




,

Ñ


È).






,


userName = prompt(
?"
,
smokes = confirm(
?"
alert(
: "
+ userName);
alert(
: "
+ smokes);
alert( 1 + 2 );

// 3,
alert(
+ 2 );
// '12',
alert( 1 +
);
// '12',
alert( 0 ==
);
// true
alert(
� 0 );

// true





.



,





.
,





:







.






,



null �= 0
!
unicode-
JavaScript
),
)

(

).
JavaScript
1 && 0 && 2
,
.
.




(



).








.



-
:





,

,



,


.
:
:

.



:
alert(
� 0 );
// false,
. null
0
alert(
�= 0 );
// true,
. null
0
alert(
== 0 );
// false,
,
null

);
// true
alert( 0 && 1 );
// 0
alert( 1 && 2 && 3 );
// 3
alert(
|| 1 || 2 );
// 1
// 1
) {

// 2

}
// 3
i = 0; i 10; i++) {





,







.






/


.









.
: Ç
È,
break







.
:
:
switch
.


JavaScript:
Ñ

,



Ñ

,




.
,




,




,

,


.
.



.
È,
,
È,

}
(;;) {


(;;) {



age = prompt(
, 18);
(age) {


);
//
prompt -
,

//
-

18



,
case'
// function
) {
}
sum(a, b) {

result = a + b;




.


.

JavaScript,


È,
JavaScript,
È,
f() { }
alert( f() );
// undefined
alert(
,
.length );
// 12
hello =
,
alert( hello.toUpperCase() );
// "
,

:








:
admin, name;
//
name =
admin = name;
alert(admin);
// "

:







:




,
,

,



,


.


-


,


.
var


:


,
a = 1, b = 1, c, d;
//
a
2,
c = ++a; alert(c);
// 2
//
,
d = b++; alert(d);
// 1
//
a
3,
c = (2+ ++a); alert(c);
// 5
//
b
3,
d = (2+ b++); alert(d);
// 4
//
2
alert(a);
// 3
alert(b);
// 3

:

:
x = 5
x = 1 + 4 = 5
a = 2;
alert( a *= 2 );
// 4

:



1
.






,







(


)

.






,








.
2
.







,



.




,




.

:
,






:

:
Ñ

!

,




.



,



.
num ^ (0 === num)
isInteger(num) {

^, |, &?


,


,


.
,







.
,



:









,


.








.


,




.
:
.
JavaScript
64-
)


,
(
)




,




,


Ñ

.

,


,


,

32-



.







(




,

) Ñ

.


:
//
1000000000000000000000000000000
alert( Math.pow(2, 30) );
// 1073741824
alert( Math.pow(2, 30) ^ 0 );
// 1073741824,
,
//
100000000000000000000000000000000
alert( Math.pow(2, 32) );
// 4294967296
alert( Math.pow(2, 32) ^ 0 );
// 0,
//
//
10000000000000000000000000000000
alert( Math.pow(2, 31) );
// 2147483648
alert( Math.pow(2, 31) ^ 0 );
// -2147483648,

:

:
http://learn.javascript.ru/play/tutorial/intro/basic.html
.
: if (



),
.



:
) {


:

:
http://learn.javascript.ru/play/tutorial/intro/ifelse_task2.html
.

:


http://learn.javascript.ru/play/tutorial/intro/if_sign.html

:

:
http://learn.javascript.ru/play/tutorial/intro/ifelse_task.html
.







.




.
'if'
'?'
result = (a + b 4) ?
:
'if..else'
'?'
message = (login ==
) ?

(login ==
) ?

(login ==
) ?

alert (
,
,
.




,
,

,

.
1
.




,




.
2
.




(
)


.
3
.




undefined || 3
.
.
alert( alert(1) || alert(2) || 3 || alert(4) );
alert (
,
.




,
,

,

.
alert( alert(1) && alert(2) );






,



.
if
(age �= 14 && age = 90)
if
( !(age �= 14 && age = 90) )
(age 14 || age &#x-21.; 0.;Ԕ-;B.8;&#x 0.5;&#x||-4;.8 ;�.6a;&#xge-1;.7 ;�.60; 90)

:

"if"
:



.
:
//
,
,
. -1
true
// -1 || 0 = -1
(-1 || 0) alert(
//
,
. -1
true,
0
false
// -1 && 0 = 0
(-1 && 0) alert(
//
,
//
&&
,
||
//
-1 && 1
,
null || 1 = 1
//
null || -1 && 1 -� null || 1 -� 1
|| -1 && 1) alert(

:


:
.




.



Ç
È
i = 0
i = 3;
(i) {

alert(i--);
i = 3
alert(i--);
//
3,
i
2
alert(i--)
//
2,
i
1
alert(i--)
//
1,
i
0
//
,
while(i)
while?
.
1
4

:
,






,






.






.




,

Ñ
,





.






,



while(5 5)



.
2
.
1
5

:
.



.


,


,




i++ 5
.









,



.







,

Ñ
,



.

:




while(4 5)
,



,





.

.
i = 0;
(++i 5) alert(i);
i = 0;
(i++ 5) alert(i);

:

i

for?
:
0
4


.





:
1
.


2
.

3
.

-



,



(2),



,







.
i=0; i5; ++i) alert(i);
i=0; i5; i++) alert(i);

:
for
while
http://learn.javascript.ru/play/tutorial/intro/loop.html
.

:

,

:

:
http://learn.javascript.ru/play/tutorial/intro/endless_loop.html


,



:
1
.

num = 100
.
2
.

num != null
È,
num = 100


,



.

num = prompt(
100?"
, 0);
}
(num = 100 && num !=

:






:

,






.
,







,







.



Ñ






,






.
i
1
10 {
,
i

,
i
,

,
i -
i=2; i10; i++) {

j=2; ji; j++) {

( i % j == 0)



//
"if",
.


,

,



.
(browser ==
) {

,
IE!'
}
(browser ==
|| browser ==

|| browser ==
|| browser ==
) {

,
}

,

,




,


.

:
if'

switch


Ñ

,




:

:



,


Ç
È.



,






,


case 4
case 2
case 3
case 4
a = +prompt(
'a?'
,
(a) {










"else"?
'?'
'?'
(


):
checkAge(age) {

checkAge(age) {


:
min


:
min(a, b) {

(a b) {




'?'
P.S.
a == b
min(a, b) {


:
pow(x,n)
:
http://learn.javascript.ru/play/tutorial/intro/pow.html

:







:


:


:
sumTo(n) = n*(n+1)/2
P.S.
,







P.P.S.


.
sumTo(n) {

sum = 0;

i=1; i=n; i++) {

sum += i;


sumTo(n) {

(n == 1)
sumTo(n) {


:



,



,




n * (n-1)!




,




n-1
:




.







.


:







,


.
factorial(n) {

factorial(n) {


:


(
)


,

:








.
,




.

,






.





.
,
fib(n-2)
,



fib(n-1)
..



2





:
fib(n) {

a = 1, b = 1;
//
c = a + b;
// 2
/*
b
c
1, 1, 2
a = b, b = c;
c = a + b;
P.S.
,










,
.

/*
(

b
c
1, 1, 2, 3
a = b, b = c;
c = a + b;
/*
(

b
c
1, 1, 2, 3, 5
fib(n) {

a = 1, b = 1;

i = 3; i = n; i++) {

c = a + b;

a = b;

b = c;










































:

JavaScript

















KljmdlmjZ

dh^Z
DhfZg^u
Dhff_glZjbb
I_j_f_ggu_
I_j_f_ggZy
:gZeh]by

ba

`bagb
Dhibjh\Zgb_

agZq_gbc
Z`ghklv

^bj_dlb\u
var
DhgklZglu
Bf_gZ

i_j_f_gguo
Bf_gZ

i_j_f_gguo
AZj_a_j\bjh\Zggu_

bf_gZ
IjZ\bevguc

\u[hj

bf_gb
\_^_gb_

\

lbiu

^Zgguo
Lbiu

^Zgguo
Blh]h
Hkgh\gu_

hi_jZlhju
L_jfbgu
:
mgZjguc
,
[bgZjguc
,
hi_jZg^

:jbnf_lbq_kdb_

hi_jZlhju
Keh`_gb_

kljhd
,
[bgZjguc
+
MgZjguc

iexk
+
Ijbk\Zb\Zgb_
Ijbhjbl_l
Bgdj_f_gl
/
^_dj_f_gl
: ++, --
Ih[blh\u_

hi_jZlhju
uah\

hi_jZlhjh\

k

ijbk\Zb\Zgb_f

Приложенные файлы

  • pdf 22760453
    Размер файла: 1 MB Загрузок: 0

Добавить комментарий