девид флэнаган — javascript (5 издание)
DESCRIPTION
Девид Флэнаган — Javascript (5 издание)TRANSCRIPT
-
www.symbol.ru
9 785932 861035
ISBN10: 5932861037ISBN13: 9785932861035
(812) 3245353, (095) 9458100 :
:
5
Ajax DO
M
JavaScript
JavaScript
JavaScript , HTML. (Document Object Model, DOM), , DHTML JavaScript
. JavaScript C, C++ Java, . JavaScript , , .
JavaScript. JavaScript, , . , , , , cookies DHTML. IV V API JavaScript, API APIW3C DOM, , , , , , API.
JavaScript JavaScript 1.5 (ECMAScript v3). W3C DOM (Level 1 Level 2), DOM Level 0.
, JavaScript. , , , Internet Explorer 6, Netscape 6 Mozilla. , JavaScript . . , JavaScript, .
JavaScript .
(Brendan Eich), JavaScript
JavaScript.
Cover_javascript_new.qxd 22.02.2008 12:43 Page 1
-
David Flanagan
The Definitive Guide
Fifth Edition
-
2008
-
JavaScript. , 5
. . . . . . . .
.JavaScript. . . . : ,2008. 992 ., .ISBN10: 5932861037ISBN13: 9785932861035
JavaScript. . HTTP Ajax, XML, , JavaScript, , , , Flash JavaScript Java. I JavaScript. II , . , HTML, DHTML, , Ajax, XPath XSLT XML, Ajax. III JavaScript (, , , , , , JavaScript 1.5 ECMAScript v3). IV JavaScript (API , DOM API Level 2 : XMLHttpRequest ).
ISBN10: 5932861037ISBN13: 9785932861035ISBN 0596101996 ()
, 2008Authorized translation of the English edition 2006 OReilly Media, Inc. This translation is published and sold by permission of OReilly Media, Inc., the owner of allrights to publish and sell the same. , . , , .
. 199034, , 16 , 7,. (812) 3245353, www.symbol.ru. N 000054 25.12.98.
00593, 2; 953000 .
14.02.2008. 70100 1/16 . . 62 . . 2000 . N
199034, , 9 , 12.
-
, .
-
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.1. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.2. JavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.3. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.4. JavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . 281.5. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
I. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.7. null. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.8. undefined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.9. Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.11. Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.13. . . . . . . . . . . . . . . . . . 58
-
8
3.14. . . . . . . . . . . 603.15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.3. if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016.4. else if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.5. switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.6. while. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.7. do/while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066.8. for. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.9. for/in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096.11. break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106.12. continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.13. var . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.14. function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.15. return. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146.16. throw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156.17. try/catch/finally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166.18. with . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1186.19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
-
9
6.20. JavaScript. . . . . . . . . . . . . . . . . . . . . . . . 119
7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257.4. Object . . . . . . . . . . . . . . . . . . 1277.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337.8. , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1398.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1438.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1508.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1548.8. . . . . . . . . . . . . . . . . . . . . . . . . 1568.9. Function() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
9. , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
9.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1659.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669.3. JavaScript . . . . . . . . . . . . . . . . . . . . . . 1729.4. Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1789.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1829.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1899.8. : defineClass() . . . . . . . . . . . . . . . . . . . . . 194
10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19910.2. . . . . . . . . . . . . . . . . . . . . . . . . . . 20410.3. . . . . . . . . . . . . . . . . . . . . . . . 208
11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 21411.2. String . . . . . . . . . . . . . . . . . . . . 22311.3. RegExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
-
10
12. Java . . . . . . . . . . . . . . . . . . . . . 229
12.1. JavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22912.2. Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
II. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
13. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
13.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25213.2. JavaScript HTML . . . . . . . . . . . . . . . . . 25813.3. HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26413.4. JavaScript URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26613.5. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26813.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27313.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27913.8. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28013.9. JavaScript . . . . . . . . . . . . . 285
14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28814.2. Location History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28914.3. Window, Screen Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29114.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29714.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30214.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30314.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30414.8. . . . . . . . . . . . . . . . . . . . . . . . 30614.9. : . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
15.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31515.2. Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31715.3. DOM:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31915.4. W3C DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32315.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33415.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33515.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33915.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34315.9. : . . . . . . . . . . . . . . . . . . . . . 35115.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35615.11. IE 4 DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
-
11
16. CSS DHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
16.1. CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36116.2. CSS DHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37016.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38616.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39516.5. CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39616.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
17.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40417.2. DOM Level 2 . . . . . . . 41417.3. Internet Explorer . . . . . . . . . . . . . . . . . . . . . 42517.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43517.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44017.6. onload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44917.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
18.1. Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45418.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45518.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45918.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
19. Cookies . . . . . . . 472
19.1. cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47219.2. cookie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47519.3. cookies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47619.4. cookie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47719.5. cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48119.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
20. HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
20.1. XMLHttpRequest . . . . . . . . . . . . . . . . . . . . . . . . 49520.2. XMLHttpRequest. . . . . . . . . . . . . . . . . 50220.3. Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50920.4. HTTP . . . . . . 516
21. JavaScript XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
21.1. XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51821.2. XML c DOM API . . . . . . . . . . . 52421.3. XML XSLT . . . . . . . . . . . . . . . . 52821.4. XML
XPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
-
12
21.5. XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53621.6. HTML XML. . . 53721.7. XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54021.8. E4X: EcmaScript XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
22.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54722.2. CSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55522.3. SVG . . . . . . . . . . . . . . . . . . . . . . 56222.4. VML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56922.5. . . . . . . . . . . . . . . . . . . . . . 57222.6. Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57622.7. Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
23. Java Flash . . . . . . . . . . . . . . . . . . . . 588
23.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59023.2. Java . . . . . . . . . . . . . . . . . . . . . . . . . . 59223.3. JavaScript Java . . . . . . . . . . . . . . . . . 59323.4. Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59723.5. Flash 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
III. JavaScript . . . . . . . . . . . . . . . . . . . . . 607
IV. JavaScript. . . . . . . . . . . . . . . . . . 721
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
-
JavaScript. (Document Object Model, DOM), (Application Programming Interface, API) JavaScript, , , , . , (JavaScript 1.5), .
JavaScript . JavaScript , HTTP, XML . JavaScript , . Ajax Web 2.0.
, JavaScript, 8, ; , . 9. 10 , , . , 12 , JavaScript Java. , JavaScript Java 6, JavaScript Java .
, JavaScript, ( 0) DOM W3C. DOM , , . ; :
19 Cookies cookies , .
-
14
20 HTTP , HTTP , XMLHttpRequest, Ajax .
21 JavaScript XML , JavaScript , , , , , XML. , JavaScript, E4X.
22 JavaScript. , . , SVG, VML, Flash Java.
23 Java Flash Flash Java. , Flash Java.
III JavaScript. , API. 4 , .
, (DOM API), JavaScript. , JavaScript. Document , HTMLDocument . DOM, , . , NodeIterator , . , DOM JavaScript, . , getComputedStyle() AbstractView, Window, . JavaScript, , AbstractView, . , JavaScript, .
1 JavaScript. . , 1, JavaScript. 2 6 , , . . , :
-
15
2 .
3 , JavaScript.
4 , , .
5 JavaScript , . JavaScript Java, , , C C++,, , .
6 JavaScript. , C, C++ Java, , .
. JavaScript, , , C Java. JavaScript, .
7 JavaScript.
8 , , , JavaScript.
9 , JavaScript. , . , JavaScript.
10 , JavaScript, , .
11 , JavaScript .
12 Java JavaScript Java , JavaScript, Java, Java. , Java.
II JavaScript . JavaScript:
13 JavaScript JavaScript . JavaScript .
-
16
14 JavaScript Window , .
15 Document , JavaScript , . .
16 CSS DHTML JavaScript CSS. , JavaScript , HTML, , DHTML.
17 , , .
18 , HTML . 15, , .
, :
19 Cookies . , HTTP cookies Internet Explorer Flash.
20 HTTP , HTTP JavaScript, XMLHttpRequest . , Ajax.
21 JavaScript XML , JavaScript , , , XML, .
22 JavaScript, . , SVG (Scalable Vector Graphics ) VML(Vector Markup Language ), Flash Java.
23 Java Flash , JavaScript Java Flash. , , JavaScript Java Flash.
JavaScript. , .
-
17
:
. , , FTP, , .
JavaScript,HTML , .
, .
, .
, , OfficinaSansC.
. . , . , , . OReilly. . .
, . , ISBN. : JavaScript: The Definitive Guide, by David Flanagan. Copyright 2006 OReilly Media, Inc., 9780596101992.
, , :
-
18
OReilly Media1005 Gravenstein Highway NorthSebastopol, CA 95472(800) 9989938 ( )(707) 8290515 ()(707) 8290104 ()
, :
http://www.oreilly.com/catalog/jscript5
, , , :
http://www.davidflanagan.com/javascript5
:
, , OReilly :
http://www.oreilly.com
Safari Enabled Safari Enabled, , OReilly Network Safari Bookshelf.
Safari , . , , , , . http://safari.oreilly.com.
(Brendan Eich) Mozilla JavaScript. JavaScript JavaScript , , . , .
, . c (Aristotle Pagatzis) (http://plasmasturm.org) , , . . (Douglas Crockford) (http://www.crockford.com) . (Norris Boyd), Rhino JavaScript, ,
-
19
JavaScript Java. (PeterPaulKoch) (http://www.quirksmode.org), (Christian Heilmann)(http://www.wait'till'i.com) (Ken Cooper) , Ajax. (Todd Ditchendorf) (http://www.ditchnet.org) (Geoff Stearns) (http://blog.deconcept.com) , . , , Flash ActionScript. , (Sanders Kleinfeld) , . . , . , , .
. (Waldermar Horwat) Netscape JavaScript 1.5. W3C DOM (Philippe Le Hegaret) W3C, (PeterPaul Koch), (DylanSchiemann) (Jeff Yates). (Joseph Kesselman) IBM Research , , W3C DOM.
, (Vidur Apparao) Netscape, (HermanVenter) Microsoft, JavaScript (Jay Hodges) (Angelo Sirigos). (DanShafer) CNET Builder.com . , . (Norris Boyd) (Scott Furman) Netscape, (Scott Issacs) Microsoft , DOM. , (Dr. Tankred Hirschmann) JavaScript 1.2.
(Nick Thompson) (Richard Yaker) Netscape, (Dr. Shon Katzenberger), (Larry Sullivan) . (Dave C. Mitchell) Microsoft, (Lynn Rollins) R&B Communications. (NeilBerkman) Bay Networks, (Andrew Schulman) (Terry Allen) OReilly & Associates.
, . (Deb Cameron) , . (Paula Ferguson) . (Frank Willison) , .
, .
http://www.davidflanagan.com
2006
-
JavaScript
JavaScript . JavaScript C, C++ Java , if, while &&. . JavaScript , . . . JavaScript . Perl, C C++ Java. JavaScript , Self, C++ Java. Perl, JavaScript , , , Perl.
JavaScript , , . , .
JavaScript , , , . JavaScript , HTML . , JavaScript, , , .
JavaScript , . JavaScript , , , . JavaScript , JavaScript.
-
1.1. JavaScript 21
JavaScript , . , JavaScript .
1.1. JavaScript JavaScript . JavaScript, , .
1.1.1. JavaScript Java JavaScript , Java, , Sun Microsystems. , . ( LiveScript JavaScript ). JavaScript Java ( . 12 23).
1.1.2. JavaScript JavaScript , , , , , . , JavaScript , . JavaScript , .
JavaScript , , , , . , JavaScript , , . JavaScript, . JavaScript, , .
1.2. JavaScript , JavaScript . , .
-
22 1. JavaScript
(European Computer Manufacturers Association, ECMA).1 JavaScript 1.5 Netscape Mozilla Foundation, Jscript 5.5 Microsoft. , Netscape 4.5 Internet Explorer 4, . , .
, ECMA262 ECMAScript. , . JavaScript , Netscape Mozilla Foundation. JavaScript.
JavaScript . Firefox 1.5, MozillaFoundation, JavaScript 1.6. () , 7.7.10, E4X, .
ECMA262, JavaScript, ECMA , JavaScript, ECMA357. JavaScript, E4X, ECMAScript forXML. XML , XML. E4X JavaScript 1.6 Firefox 1.5. E4X, 21 .
ECMA262, JavaScript 2.0. , . JavaScript 2.0. , , MicrosoftJScript.NET, ActionScript 2.0 ActionScript 3.0, Adobe ( Macromedia) Flash. , JavaScript 2.0, JavaScript 1.6 . , , . JavaScript 2.0 , , .
1 ECMA262, 3 ( http://www.ecma'internatio'nal.org/publications/files/ecma'st/ECMA'262.pdf).
-
1.3. JavaScript 23
1.3. JavaScript JavaScript , JavaScript. , , JavaScript, , JavaScript, JavaScript. JavaScript JavaScript, JavaScript.
JavaScript JavaScript (Document Object Model, DOM), . JavaScript, DOM . , , JavaScript . JavaScript , DHTML ( 16), , Ajax ( 20). 13 JavaScript.
ECMA262 JavaScript, World Wide Web Consortium (W3C) DOM, , . ( 15, 16 17 .) W3C DOM Microsoft Internet Explorer; .
1.3.1. JavaScript, JavaScript, JavaScript. 1.1 JavaScript, , .
1.1. JavaScript
var fact = 1;for(i = 1; i < 10; i++) { fact = fact*i; document.write(i + "! = " + fact + "
");}, JavaScript, , . 1.1.
-
24 1. JavaScript
, JavaScript HTML . 13. , , document.write().1 HTML HTML .
JavaScript HTML, . , JavaScript : . JavaScript, , . 1.2 HTML, , .
1.2. HTML' JavaScript
. 1.2 .
onclick 1.2 JavaScript, , . onclick alert(). . 1.2, alert() .
1.1 1.2 JavaScript. ,
1 , .
. 1.1. ', JavaScript
-
1.3. JavaScript 25
HTML. 1.3 JavaScript. , . , HTML, , .
. 1.3 HTML . ,HTML . . JavaScript : , , JavaScript , , .
HTML, HTML. ,
. 1.2. JavaScript
. 1.3. JavaScript
-
26 1. JavaScript
onchange onclick . , , . JavaScript calculate(). , calculate().
calculate() . , , , , , id.
1.3 , . JavaScript, HTML, CSS JavaScript, , JavaScript.1
1.3. JavaScript
JavaScript/* : */.result { fontweight: bold; } /* class="result"*/#payment { textdecoration: underline; } /* id="payment" */ :
1 , HTML, CSS JavaScript, , , , . , , , . , 13.1.5 13.
-
1.3. JavaScript 27
1) ( ): 2) : 3) : : 4) : $ 5) : $ 6) : $ /* * JavaScript, . * : calculate(), * . * , , , * . */function calculate( ) { // . , // . // . // . var principal = document.loandata.principal.value; var interest = document.loandata.interest.value / 100 / 12; var payments = document.loandata.years.value * 12;
// . var x = Math.pow(1 + interest, payments); var monthly = (principal*x*interest)/(x1);
// . var payment = document.getElementById("payment"); var total = document.getElementById("total");
-
28 1. JavaScript
var totalinterest = document.getElementById("totalinterest");
// , .
// , .
if (isFinite(monthly)) {
payment.innerHTML = monthly.toFixed(2);
total.innerHTML = (monthly * payments).toFixed(2);
totalinterest.innerHTML = ((monthly*payments)principal).toFixed(2);
}
// , ,
// , .
else {
payment.innerHTML = "";
total.innerHTML = "";
totalinterest.innerHTML = "";
}
}
1.4. JavaScriptJavaScript , . JavaScript . Netscape JavaScript, JavaScript . Internet Explorer Microsoft JScript IIS Windows Scripting Host. Adobe JavaScript Flash. Sun JavaScript Java 6.0, Java ( , , 12).
Netscape, Microsoft JavaScript , . , Netscape, Mozilla (http://www.mozilla.org/js/). Mozilla JavaScript 1.5: C SpiderMonkey, Java , , Rhino ().
, JavaScript, , , . , , , .
-
1.5. JavaScript 29
1.5. JavaScript . JavaScript . , .
JavaScript . JavaScript , , , . JavaScript, .
, , 1.1 :
document.write(" ");for (i=0, j=1, k=0, fib =0; i
-
30 1. JavaScript
Firefox JavaScript, . , . JavaScript (javascript:) .
, JavaScript, , , . JavaScript : , , , . , document.write() alert(). ( , , 15.9.)
for/in ( 6). , alert() , . .
JavaScript, , JavaScript. Internet Explorer Microsoft Script Debugger, Firefox , Venkman. , , . , , , , jslint; JavaScript (http://jslint.com).
-
JavaScript
2 12 JavaScript. , , , , , .
2 3 4 5 6 7 8 9 , 10 11 12 Java
-
, , . ; , , , , . JavaScript.
2.1. JavaScript Unicode. 7 ASCII, , 8 ISO Latin1, , 16 Unicode . , .
, ASCII Latin1, Unicode. , ASCII Latin1 Unicode, JavaScript, , . , 8 , , , JavaScript , .
ECMAScript v3 Unicode JavaScript. 1 2 Unicode , ,
-
34 2.
ASCII.1 JavaScript, ECMAScript, Unicode.
2.2. JavaScript , . , , , . , while while, While WHILE. online, Online, OnLine ONLINE .
, , HTML, JavaScript, . HTML JavaScript . JavaScript , HTML, . HTML , JavaScript . , onclick HTML onClick, JavaScript ( XHTML) onclick.
2.3. JavaScript , , . , . , .
2.4. JavaScript (;), C, C++ Java. . JavaScript , . , :
a = 3;b = 4;
1 , ) , ; ) UTF16 (Unicode , , UTF8, UTF16 .); ) , . . ; . . . .
-
2.5. 35
, :
a = 3; b = 4;
, .
JavaScript , JavaScript . , , , JavaScript , , , . , , return, break continue ( 6). , , :
returntrue;
JavaScript , :
return;true;
, ,
return true;
, , , . , :
breakouterloop;
JavaScript break, . ++ (. 5) , , .
2.5. JavaScript, Java, C++, C. , // , JavaScript. /* */ . C . JavaScript:
// ./* */ // ./*
-
36 2.
* .
* .
*/
2.6. , . :
12 //
1.2 //
"hello world" //
'Hi' //
true //
false //
/javascript/gi // ( )
null //
ECMAScript v3 , . :
{ x:1, y:2 } //
[1,2,3,4,5] //
, . JavaScript 3.
2.7. . JavaScript , . Java . , (_) ($).1 , , . ( , . . .) :
i
my_variable_name
v13
_dummy
$str
ECMAScript v3 Unicode. JavaScript ASCII. ECMAScript v3
1 $ , JavaScript 1.1. , .
-
2.8. 37
escape Unicode \u, 4 , 16 . , \u03c0. , JavaScript Unicode , , Unicode.
, , JavaScript . , JavaScript.
2.8. JavaScript . ( , ) JavaScript. . 2.1 , ECMAScript v3. JavaScript , . . .
2.1. JavaScript
. 2.2 . JavaScript , ECMAScript v3 .
2.2. , ECMA
ECMAScript v4 as, is, namespace use. JavaScript , .
break do if switch typeof
case else in this var
catch false instanceof throw void
continue finally new true while
default for null try with
delete function return
abstract double goto native static
Boolean enum implements package super
byte export import private synchronized
char extends int protected throws
class final interface public transient
const float long short volatile
debugger
-
38 2.
, , JavaScript. , ( ), , , . . 2.3 , ECMAScript v 3. , , JavaScript (, ) .1
2.3. ,
1 Window , JavaScript.
arguments encodeURI Infinity Object String
Array Error isFinite parseFloat SyntaxError
Boolean escape isNaN parseInt TypeError
Date eval Math RangeError undefined
decodeURI EvalError NaN ReferenceError unescape
decodeURIcomponent Function Number RegExp URIError
-
, (values), 3,14 Hello World. , , (data types), . JavaScript : , ( ) ( ). JavaScript , null undefined, .
JavaScript , (object). (. . ) ( , , , ). JavaScript : . (array). JavaScript , , .
JavaScript , ' (function). , . (invoked) . , , , JavaScript . .
JavaScript . , (classes) . Date , , RegExp ,
-
40 3.
( , 11), Error , , JavaScript.
. , , 7 8. , Date, RegExp Error, III . , .
3.1. , . JavaScript , C Java, , . JavaScript 64 ( ), IEEE 754.1 1,7976931348623157 10308 5 10324., JavaScript, . JavaScript , . : (), . (. 5), .
3.1.1. JavaScript . :
0310000000
JavaScript 9007199254740992 (253) 9007199254740992 (253) . . , JavaScript ( , 5) 32 , 2147483648 (231) 2147483647 (2311).
3.1.2. JavaScript ( 16). 0x 0X,
1 Java double. double C C++.
-
3.1. 41
. 0 9 a ( A) f ( F), 10 15. :
0xff // 15*16 + 15 = 255 ( 10)0xCAFE911
ECMAScript ( 8), JavaScript . 0, , 0 7. :
0377 // 3*64 + 7*8 + 7 = 255 ( 10)
, , , , .
3.1.3. ; . , .
: , e ( E), . , 10 , .
:
[][.][(E|e)[(+|)]]
:
3.14
2345.789.3333333333333333336.02e23 // 6.02 X 1023
1.4738223E32 // 1.4738223 X 1032
: , JavaScript ( 18437736874454810627). , JavaScript . , , .
3.1.4. JavaScript ,
-
42 3.
(+), (), (*) (/). 5.
JavaScript , . Math, Math. , x :
sine_of_x = Math.sin(x);
:
hypot = Math.sqrt(x*x + y*y);
, JavaScript, Math .
3.1.5. JavaScript . 3.2.
3.1.6. JavaScript . , , JavaScript Infinity. , , Infinity.
JavaScript, (, ) . , NaN. (NotaNumber) : , ! isNaN(). , isFinite(), NaN / .
. 3.1 , JavaScript .
3.1.
Infinity ,
NaN
Number.MAX_VALUE
-
3.2. 43
Infinity NaN, ECMAScript v1, JavaScript 1.3. Number JavaScript 1.1.
3.2. , , Unicode JavaScript . , , . : JavaScript , char C, C++ Java. .
3.2.1. Unicode, (' "). , , , . . , \n, . :
"" // : 'testing'"3.14"'name="myform"'" O'Reilly, ?"" \n "
" "
, ECMAScript v1 Unicode . , , JavaScript 1.3, ASCII Latin1. , Unicode . , Unicode.
: , ,
Number.MIN_VALUE ( )
Number.NaN
Number.POSITIVE_INFINITY ,
Number.NEGATIVE_INFINITY ,
-
44 3.
,, , can't O'Reilly's. , (\) , ( ).
JavaScript HTML, HTML, , JavaScript. JavaScript, HTML , . JavaScript HTML JavaScript, HTML. JavaScript , , , HTML :
3.2.2. (\) JavaScript. , , , . , \n ' (escape sequence), .1
, , \', . , . , . , :
'You\'re right, it can\'t be a quote'
. 3.2 . ; Latin1 Unicode . , \xA9 , Latin1 A9. , \u, Unicode, . , \u03c0 . , Unicode ECMAScript v1, , JavaScript 1.3. JavaScript Latin1 , ,
1 , C, C++ Java, JavaScript .
-
3.2. 45
ECMAScript v3 .
3.2. JavaScript
, , ( JavaScript) . \ , . 3.2, ( , , ). , \# , #.
3.2.3. JavaScript . + , , , , . :
msg = "Hello, " + "world"; // "Hello, world"greeting = " ," + " " + name;
length. , s , :
s.length
. s:
\0 NUL (\u0000)
\b (\u0008)
\t (\u0009)
\n (\u000A)
\v (\u000B)
\f (\u000C)
\r (\u000D)
\" (\u0022)
\' (\u0027)
\\ (\u005C)
\xXX Latin1, XX
\uxXXXX Unicode, XXXX
\XXX Latin1, XXX, 1 377. ECMAScript v3;
-
46 3.
last_char = s.charAt(s.length 1)
, s, :
sub = s.substring(1,4);
a s :
i = s.indexOf('a');
, . String .
, JavaScript (, , JavaScript) , 0. , . , C, ++ Java, , , , , .
JavaScript ( ) , charAt() :
last_char = s[s.length 1];
ECMAScript v3, .
, , , . , . JavaScript. , . , .
3.2.4. , . , , :
var n = 100;var s = n + " .";
JavaScript , : , :
var n_as_string = n + "";
String():
var string_value = String(number);
-
3.2. 47
toString():
string_value = number.toString( );
toString() Number ( Number, ) , , , . , 10. ( 2 36)1, :
var n = 17;binary_string = n.toString(2); // "10001"octal_string = "0" + n.toString(8); // "021"hex_string = "0x" + n.toString(16); // "0x11"
JavaScript, JavaScript 1.5, , , . , .
ECMAScript v3 JavaScript 1.5 Number. toFixed() . . toExponential(), . toPrecision(). , . : . :
var n = 123456.789;n.toFixed(0); // "123457"n.toFixed(2); // "123456.79"n.toExponential(1); // "1.2e+5"n.toExponential(3); // "1.235e+5"n.toPrecision(4); // "1.235e+5"n.toPrecision(7); // "123456.8"
1 ECMAScript toString(), , , 10. , . .
-
48 3.
3.2.5. , . , :
var product = "21" * "2"; // 42.
; 0:
var number = string_value 0;
( : .)
Number() :
var number = Number(string_value);
. , , .
parseInt() parseFloat(). , , , . parseInt() , parseFloat() , . 0x 0X, parseInt() .1 :
parseInt("3 "); // 3
parseFloat("3.14 "); // 3.14
parseInt("12.34"); // 12
parseInt("0xFF"); // 255
parseInt() . 2 36, :
parseInt("11", 2); // 3 (1*2 + 1)
parseInt("ff", 16); // 255 (15*16 + 15)
parseInt("zz", 36); // 1295 (35*36 + 35)
parseInt("077", 8); // 63 (7*8 + 7)
parseInt("077", 10); // 77 (7*10 + 7)
1 ECMAScript , 0 ( 0x 0X), parseInt() , . , parseInt() , 0, .
-
3.3. 49
parseInt() parseFloat() , NaN:
parseInt("eleven"); // NaNparseFloat("$72.47"); // NaN
3.3. . , , , true false. , . . , .
, JavaScript. :
a == 4
, a 4. , true. a 4, false.
JavaScript. , if/else JavaScript , true, , false. , , , . :
if (a == 4) b = b + 1;else a = a + 1;
, a 4. , b 1; 1 a.
true false, (true) (false) (true) (false).
3.3.1. , .1
1 , C, , JavaScript , C, . Java , JavaScript , , boolean Java JavaScript , , , JavaScript C, Java.
-
50 3.
, true 1, false 0. , true "true", false "false".
, true, 0 NaN, false. , true, , false. null undefined false, , , null, true.
, Boolean():
var x_as_boolean = Boolean(x);
:
var x_as_boolean = !!x;
3.4. , JavaScript JavaScript. , JavaScript . , , , ; , . JavaScript , Math.sin(), .
JavaScript , , , :
function square(x) // square. , x.{ // . return x*x; // // .} // .
, , , , . :
y = Math.sin(x);y = square(x);d = compute_distance(x1, y1, z1, x2, y2, z2);move();
JavaScript , , JavaScript. , Java, , : . ,
-
3.5. 51
JavaScript , . , , , . . , 8.
, , , . ( 3.5), . . 7.
3.4.1. square(). JavaScript. ECMAScript v3 ( JavaScript 1.2 ) . function, , , , . , , , , . , JavaScript. square() :
function square(x) { return x*x; }
:
var square = function(x) { return x*x; }
, , . LISP, . , , , .
: Function(). :
var square = new Function("x", "return x*x;");
. , JavaScript , , , , .
3.5. , ' (properties) . ( ,
-
52 3.
.) , , . , image width height, :
image.width
image.height
JavaScript , , . JavaScript:
document.myform.button
button , , , myform document.
, , , , . , () . , write() document :
document.write(" ");
JavaScript , . . . : , , . image, , :
image["width"]
image["height"]
; . , 7.
3.5.1. 7, . :
var o = new Object();
var now = new Date();
var pattern = new RegExp("\\sjava\\s", "i");
, :
var point = new Object();
point.x = 2.3;
point.y = 1.2;
-
3.6. 53
3.5.2. JavaScript , . ( ) /, . . , point :
var point = { x:2.3, y:1.2 };
. :
var rectangle = { upperLeft: { x: 2, y: 2 },
lowerRight: { x: 4, y: 4 }
};
, JavaScript. , :
var square = { "upperLeft": { x:point.x, y:point.y },
'lowerRight': { x:(point.x + side), y:(point.y+side) }};
3.5.3. , true. , toString() , . , valueOf(). , . valueOf() . toString(), .
, .
3.6. (array), , . , , , , . JavaScript , , . , a , i , a[i] . , . . a[2] a.
JavaScript, . :
-
54 3.
document.images[1].width
width , , images document.
: (. 3.5). , . . , JavaScript ( ). , JavaScript , , , Java. 7.
3.6.1. Array(). :
var a = new Array();a[0] = 1.2;a[1] = "JavaScript";a[2] = true;a[3] = { x:1, y:3 };
Array(). , :
var a = new Array(1.2, "JavaScript", true, { x:1, y:3 });
Array() , . , 10 :
var a = new Array(10);
3.6.2. JavaScript . , , , . , ., , , :
var a = [1.2, "JavaScript", true, { x:1, y:3 }];
, :
var matrix = [[1,2,3], [4,5,6], [7,8,9]];
, :
var base = 1024;var table = [base, base+1, base+2, base+3];
-
3.7. null 55
, . , :
var sparseArray = [1,,,,5];
3.7. null null JavaScript . , null . null . null,, , , , .1
null , false, 0, "null".
3.8. undefined , JavaScript, undefined. , , , , . , undefined , null.
null undefined , == . :
my.prop == null
, my.prop , , null. null undefined , , . null undefined, === typeof ( 5).
null, undefined JavaScript. ECMAScript v3 , undefined, undefined. , , , undefined , .
, undefined, :
var undefined;
1 C C++ , null JavaScript , 0, . null 0, .
-
56 3.
, , , undefined. void (. 5) undefined.
undefined , false. NaN, "undefined".
3.9. Date , JavaScript. , JavaScript , , . Date JavaScript new Date() ( new 5, 7 ):
var now = new Date(); // , .// , .// : , 11!var xmas = new Date(2000, 11, 25);
Date , (GMT). :
xmas.setFullYear(xmas.getFullYear() + 1); // .var weekday = xmas.getDay(); // 2007 .document.write(": " + now.toLocaleString()); // .
Date ( , Date) , , , .
Date .
3.10. . . JavaScript Perl.
JavaScript RegExp RegExp(). Date, RegExp JavaScript; , JavaScript.
Date, RegExp JavaScript. .
-
3.11. Error 57
, . :
/^HTML//[19][09]*//\bjavascript\b/i
11. , JavaScript.
3.11. Error ECMAScript v3 . JavaScript . ( 6 throw try.) message, . Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError URIError. .
3.12. , , . : , , JavaScript . , , , . , . , JavaScript . . 3.3 , , .
3.3.
,
"undefined" NaN false Error
null "null" 0 false Error
NaN
true String
0 false String
0 "0" false Number
NaN "NaN" false Number
-
58 3.
3.3 ()
3.13. , : .1 , :
var s = "These are the times that try people's souls.";
var last_word = s.substring(s.lastIndexOf(" ")+1, s.length);
, , s , .
? ? typeof (. 5) , , . ?
, . , JavaScript Number, String Boolean. . (wrapper) , , .
JavaScript . , . . , JavaScript . String . ,
,
Infinity "Infinity" true Number
Infinity "Infinity" true Number
true Number
true "true" 1 Boolean
false "false" 0 Boolean
toString() valueOf(),toString() NaN
true
1 , .
-
3.13. * 59
. , , ; , .
, String, , , , , . , s , :
var len = s.length;
s , . String, length, , s. , , . JavaScript , .
String , , . String , , new. :
var s = "hello world"; //
var S = new String("Hello World"); // String
S String? , . typeof, , S , , , String.1 , String, . , . String , , JavaScript String . , String +, :
msg = S + '!';
, , String, Number Boolean. .
, , , Object():
var number_wrapper = Object(3);
1 eval() String, String , , .
-
60 3.
3.14. , 3.5.3. .1
, true. ( ), , , false. , true :
new Boolean(false) // false, truenew Number(0)new String("")new Array( )
. 3.3 , valueOf(). valueOf() Object, . valueOf() , JavaScript toString() .
. toString() , . , , 0! , , n, n, n. , NaN.
, . , . + (=) , , , , : . JavaScript valueOf(). ( , ), . valueOf() , JavaScript toString().
1 , .
-
3.15. 61
: + Date, toString(). , Date toString() valueOf(). Date +, , , .
valueOf(), . +, . , , , .
, valueOf(), . valueOf(), , , , valueOf() , toString() . , valueOf().
, , valueOf() toNumber(). , , ; valueOf() .
3.15. JavaScript, , .1 . , . . , , . , .
: ' . , , . , , . , . , , . , . , ,
1 , .
-
62 3.
( , ).
. , .1 , , . , . , , . , . . , . , . , . . , , , , . , (. . ), .
, . . 3.4 . , , , . , JavaScript. , , .
3.4.
1 C , , . , JavaScript .
.
. , .
. .
. , .
-
3.15. 63
3.15.1. JavaScript : ' , , , . JavaScript. , , JavaScript. . . , , , . , .
? , . JavaScript , . . .
, , . , . 3.1 , . , , .
3.1. ,
//
var n = 1; // n 1
var m = n; // : m 1
//
// , ,
function add_to_total(total, x)
{
total = total + x; // total
}
// , ,
// n m. n
// total. m n,
( ), , .
, , . , .
-
64 3.
// n. // n .// , .add_to_total(n, m);
// .// 1 // , "" . // , n. , // , .if (n == 1) m = 2; // n , 1; // m 2
3.2. , . , . Date, .
3.2. ,
// , 2007 // xmas , var xmas = new Date(2007, 11, 25);
// , var solstice = xmas; //
// solstice.setDate(21);
// xmas.getDate( ); // 21, 25
// .// .// , .// , // , .function add_to_totals(totals, x){ totals[0] = totals[0] + x; totals[1] = totals[1] + x; totals[2] = totals[2] + x;}
// , .// , , , // , // , :(xmas == solstice) // true
// , , , // .var xmas = new Date(2007, 11, 25);var solstice_plus_4 = new Date(2007, 11, 25);
// " "
-
3.15. 65
// !
(xmas != solstice_plus_4) // true
, . . , . . , , . , . , , , , , , . 3.3 .
3.3.
// add_to_totals(). ,
// .
function add_to_totals2(totals, x)
{
newtotals = new Array(3);
newtotals[0] = totals[0] + x;
newtotals[1] = totals[1] + x;
newtotals[2] = totals[2] + x;
totals = newtotals; //
//
}
3.15.2. , . , , . , . , . , , .
, JavaScript . , , , .
: JavaScript . charAt(), , setCharAt(), . . JavaScript
-
66 3.
JavaScript , .
, , . . , . , JavaScript , , , .
3.15.3. , , , JavaScript, , . 3.4 , .
3.4. , ?
// , , , // . , // . // , , // , :var s1 = "hello";var s2 = "hell" + "o";if (s1 == s2) document.write(" ");
, . , C, C++ Java, . . JavaScript , , , . , , JavaScript () , .
3.15.4. : 3.5 , JavaScript.
3.5. JavaScript
-
, . , , , . . , JavaScript 2 i:
i = 2;
3 i sum:
var sum = i + 3;
, . JavaScript , ! ,, , , /.1
4.1. JavaScript , Java C, , JavaScript (untyped) . , , JavaScript , Java C, , . , JavaScript , :
i = 10;i = "";
1 , . 5, 6 7, .
-
68 4.
Java, C, C++ .
JavaScript, , , . , , JavaScript , . 3.
JavaScript , C++ Java, , , , . JavaScript , , .
4.2. JavaScript, .1
var :
var i;
var sum;
:
var i, sum;
, :
var message = "hello";
var i = 0, j = 0, k = 0;
var, , (undefined), .
, var for for/in ( 6), . :
for(var i = 0; i < 10; i++) document.write(i, "
");for(var i = 0, j = 10; i < 10; i++, j) document.write(i*j, "
");for(var i in o) document.write(i, "
");, var, ' (permanent): delete . ( delete 5.)
1 , JavaScript.
-
4.3. 69
4.2.1. var . , .
, JavaScript . , var, JavaScript . , , , . ( ), , var . var , . ( .)
4.3. (scope) , . JavaScript. , , . ' . , .
. , , . , :
var scope = ""; //
function checkscope() { var scope = ""; //
document.write(scope); // ,
}checkscope(); // ""
, var , . , , :
scope = ""; // , var
function checkscope() {
scope = ""; // ! document.write(scope); //
myscope = ""; //
document.write(myscope); // }
checkscope(); // ""
document.write(scope); // ""document.write(myscope); // ""
-
70 4.
, , , . , , , . , : var.
. , . :
var scope = " "; // function checkscope() { var scope = " "; // function nested() { var scope = " "; // // document.write(scope); // " " } nested();}checkscope();
4.3.1. : C, C++ Java, JavaScript . , , , , . i, j k : . , C, C++ Java:
function test(o) { var i = 0; // i if (typeof o == "object") { var j = 0; // j , for(var k = 0; k < 10; k++) { // k , document.write(k); } document.write(k); // k : 10 } document.write(j); // j , }
, , , , . :
var scope = "";function f() { alert(scope); // "undefined", "". var scope = ""; // , // . alert(scope); // ""}f();
, alert() , . . var,
-
4.4. 71
, . . , , . , var . f :
function f() { var scope; // alert(scope); // , undefined scope = ""; // alert(scope); // }
, .
4.3.2. JavaScript: . , . ' . , . , .
, , . , undefined. (unassigned), , .
:
var x; // . undefined.alert(u); // .u = 3; // .
4.4. , , . , . ? , , , , JavaScript. : .
, , null undefined . , .
. , , .
-
72 4.
. JavaScript , .1
. , . : . JavaScript. , , . . . , , .
, . . . , ( ):
var a = 3.14; // var b = a; // a = 4; // alert(b) // 3.14;
. , , , ( ):
var a = [1,2,3]; // var b = a; // a[0] = 99; // , alert(b); // [99,2,3],
, , . , , . , , . ; .
, . , . 3.15.
, , JavaScript . . , , . , JavaScript , . . , ,
1 , JavaScript.
-
4.5. 73
, , . . : . , , , . , , , , , , .
4.5. ; , . , . , . .
, , , . JavaScript , , . , , , JavaScript , .
, C C++, . , , ( ). .1
JavaScript, , , (garbage collection). JavaScript , ., (. . ), , , .2 :
var s = "hello"; // var u = s.toUpperCase(); // s = u; //
"hello" . .
1 : ( ) , , , . STL, . , new delete. . . .
2 , , . Perl; . . . . .
-
74 4.
. , , , , .
4.6. , JavaScript . , JavaScript . . i i o? : . JavaScript .
4.6.1. , JavaScript , . JavaScript. JavaScript , .
JavaScript , . , Infinity, parseInt Math , parseInt() Math. .
(. . JavaScript, ) this. this , 8.
JavaScript JavaScript, , Window. window, , this . Window , parseInt Math, , navigator screen.
4.6.2. , ? . (call object). , . JavaScript .
4.6.3. JavaScript , JavaScript (execution context), . . ,
-
4.7. 75
JavaScript. , . JavaScript, , , . JavaScript , .
, JavaScript .1
( .) JavaScript, . JavaScript . , . , JavaScript parent.frames[1], x parent.frames[0].x.
, JavaScript. JavaScript 13. , JavaScript JavaScript .
. JavaScript , , . JavaScript. , A , B . , B A. , , ., JavaScript , , . 13.8.
4.7. , JavaScript: , , , .
1 ; , .
-
76 4.
, , , . , , , , . , JavaScript.
JavaScript ' (scope chain), , , . JavaScript x ( ), () . x, . x, JavaScript . x, , . .
JavaScript ( , ), . . , undefined. ( ) . , ( ), ( ). . . 4.1.
. 4.1.
-
, JavaScript., C, C++ Java, , JavaScript , . , C, C++ Java, , JavaScript.
5.1. JavaScript, . , :
1.7 // "JavaScript is fun!" // true // null // null/java/ // { x:2, y:2 } // [2,3,5,7,11,13,17,19] // function(x){return x*x;} // i // isum // sum
. , , , .
. ( ) . , , 1.7 , i . :
i + 1.7
-
78 5.
. + , . (), . :
(i + 1.7) sum
sum , i + 1.7. , JavaScript , + .
5.2. C, C++ Java, JavaScript . . 5.1, . : , + =, , delete instanceof. , , .
, P, , , A, ( L , R ). , , , , .
5.1. JavaScript'
P A
15 L . ,
L [] ,
L () ,
R new
14 R ++
()
R
()
R ( )
R + ( )
R ~ ()
R ! ()
R delete
()
R typeof ()
-
5.2. 79
5.2.1. . JavaScript, +, , . , . , . JavaScript ,
R void ()
13 L *, /, % , ,
12 L +, ,
L +
11 L >
L >>>
10 L = ,
L instanceof ,
L in ,
9 L ==
L !=
L ===
L !==
8 L &
7 L ^
6 L |
5 L &&
4 L ||
3 R ?: , ,
2 R = ,
R *=, /=, %=, +=,=, =,>>>=, &=, ^=, |=
,
1 L ,
P A
-
80 5.
, . 3 , 3. , JavaScript , ?:, .
5.2.2. JavaScript, , , , . , . , , "a" * "b" JavaScript. JavaScript , "3" * "5" . 15, "15". JavaScript 3.12.
. +, . , , . , "1" + 0 "10".
, , , (lvalue). , , . JavaScript , . ECMAScript , , .
, , . (, , . .) , , , . , a < 3 true, a , 3. , , , if, while for, JavaScript .
5.2.3. . 5.1 , P, . , . P , , .
:
w = x + y * z;
-
5.3. 81
* +, . , = , .
. , :
w = (x + y)* z;
, , . : , .
5.2.4. . 5.1 , A, . L , R . . , . , , :
w = x + y + z;w = ((x + y) + z);
( ) :
x = ~~y;w = x = y = z;q = a?b:c?d:e?f:g;
:
x = ~((~y));w = (x = (y = z));q = a?b:(c?d:(e?f:g));
, , .
5.3. , , . :
(+)
. , .
-
82 5.
, . valueOf() / toString().
()
, . , .
(*)
* . .
(/)
/ . . , , , . JavaScript , . 5/2 2.5, 2. , 0/0 NaN.
(%)
% , . , . , 5 % 2 1. , . , 4.3 % 2.1 0.1.
()
, . , , . , .
(+)
JavaScript . , , :
var profit = +1000000;
; . . , NaN.
(++)
(. . ) , , . , ,
-
5.4. 83
. . ( ), 1, . ( ), 1, . , . , i j 2:
i = 1;j = ++i;
i 2, j 1:
i = 1;j = i++;
, . : , JavaScript . , JavaScript .
()
(. . 1) , , . , , . ++, . , , , .
5.4. . , (true false) . 6, if for .
5.4.1. (==) (===) == === , . true, , false, . ===, , , . == , , , .
-
84 5.
ECMAScript v3 JavaScript 1.3 . JavaScript =, == ===. , , . ! , = , , == , ===.
JavaScript , '. , == === , . , , . , , .
, . , , . , . , , , , , . , , . ( , , .)
=== :
, . , ,
NaN ( , ). NaN , ! , NaN, isNaN().
, . , . , Unicode . JavaScript , , . III String.localeCompare().
true false, .
, , . ( ), , .
-
5.4. 85
null undefined, .
==:
, . , ; , .
, . :
null, undefined, . , ,
.
true, 1 . false, 0 .
, , . toString(), valueOf(). JavaScript valueOf(), toString(), Date, toString(). , JavaScript, , .
.
:
"1" == true
true, . . . true 1, . "1" 1. , true.
5.4.2. (!=) (!==) != !== , == ===. != false, , true . !== false, , true . ECMAScript v3 JavaScript 1.3 .
, ! . , != , !== . .
-
86 5.
5.5. JavaScript. , ( ) true false , . 6, if while .
5.5.1. . :
()
> true, , ; false.
(= true, ; false.
. , , , . :
, .
, .
, , . , NaN false. ( JavaScript 1.1 NaN, .)
, , JavaScript . , , Date , . . , .
, false.
-
5.5. 87
NaN, false.
, , Unicode. Unicode , JavaScript ; , . : , . . Unicode ( , ASCII) . . , < "Zoo" "aardvark".
String.localeCompare(), . String.toLowerCase() String.toUpperCase().
= ( ) . , . , NaN ( ); false.
5.5.2. in in , . ( ). true, , . :
var point = { x:1, y:1 }; //
var has_x_coord = "x" in point; // true
var has_y_coord = "y" in point; // true
var has_z_coord = "z" in point; // false;
var ts = "toString" in point; // ; true
5.5.3. instanceof instanceof , , . true, , , , ; false. 9 , JavaScript ., instanceof . : Object. :
var d = new Date(); // Date()
d instanceof Date; // true; d
// Date()
-
88 5.
d instanceof Object; // true;
// Object
d instanceof Number; // false; d Number
var a = [1, 2, 3]; //
a instanceof Array; // true; a
a instanceof Object; // true;
a instanceof RegExp; // false;
instanceof , , instanceof false. , .
5.6. , , , .
+ . , , , . , "hello there":
"hello" + " " + "there"
"22":
a = "2"; b = "2";
c = a + b;
= , . . 5.1.1, JavaScript Unicode. , ( ), .
== != , , , , .
+ , . , + ( ), ( ) , . , , . , JavaScript . :
1 + 2 // . 3.
"1" + "2" // . "12".
"1" + 2 // ; 2 "2". "12".
11 < 3 // . false.
"11" < "3" // . true.
-
5.7. 89
"11" < 3 // ; "11" 11. false."one" < 3 // ; "one" NaN. false.
, , + , . , , . :
s = 1 + 2 + " "; // "3 "t = " : " + 1 + 2; // " : 12"
, + , . , :
s = (1 + 2) + " "; // ; t = (" : " + 1) + 2; //
5.7. . if, while for.
5.7.1. (&&) && : true , true. false, false.
. . false ( null, 0, "" undefined), . .1
, , . , &&. , JavaScript :
if (a == b) stop();(a == b) && stop();
( Perl) , . , , . :
1 JavaScript 1.0 1.1, false, && .
-
90 5.
if ((a == null) && (b++ > 10)) stop();
, , , . . , false. , , (, , ), &&, , .
, . , , , .
5.7.2. (||) || : true, ( ) true. false, false.
|| , , &&, . . true, . .1
&&, , , , .
|| , , . . .
, || , , , , . , || , null (. . , true). :
// max_width , . // preferences. // ( max_with) , // , .var max = max_width || preferences.max_width || 500;
1 JavaScript 1.0 1.1, true, true, .
-
5.8. 91
5.7.3. (!) ! , . . , a true ( , true), !a false. p && q false ( , false), !(p && q) true. , , : !!x.
5.8. , JavaScript , . 32 , . , , . .
32 , 32 , 32. , 0 31. 32 5, .
, , , . JavaScript. :
(&)
& . 1, 1 . 0x1234 & 0x00FF 0x0034.
(|)
| . 1, 1 . , 9 | 10 11.
(^)
^ . , , , . , ( ) . , 9 ^ 10 3.
-
92 5.
(~)
~ , . . JavaScript ~ 1., ~0x0f 0xfffffff0, 16.
(> 1 3, 7 >> 1 4.
(>>>)
>>> >> , . , 1 >> 4 1, 1 >>> 4 268435455 (0x0fffffff).
5.9. 4, JavaScript =. :
i = 0
JavaScript , , = .
= , . . . = , , , , .
-
5.9. 93
= , . , :
(a = b) == 0
, = == !
, . , , :
i = j = k = 0;
, , . ( ) (), ( ) .
5.9.1. (=) JavaScript , . , += . :
total += sales_tax
total = total + sales_tax
, += , . , , .
=, *=, &= . . 5.2.
5.2.
+= a += b a = a + b
= a = b a = a b
*= a *= b a = a * b
/= a /= b a = a / b
%= a %= b a = a % b
> b
>>>= a >>>= b a = a >>> b
&= a &= b a = a & b
|= a |= b a = a | b
^= a ^= b a = a ^ b
-
94 5.
( op ):
a op= ba = a op b
, a , , .
5.10. JavaScript , .
5.10.1. (?:) ( ) JavaScript . ?:, . , ?, ? :, :. :
x > 0 ? x*y : x*y
( ) . . , , . true, . false, .
if, ?: . , , , , , , :
greeting = "hello " + (username != null ? username : "there");
if, :
greeting = "hello ";if (username != null) greeting += username;else greeting += "there";
5.10.2. typeof typeof , . , .
typeof "number", "string" "boolean", , .
-
5.10. 95
, ( ) null "object". "function", "undefined".
typeof "object", Number, String Boolean. "object" Date RegExp. , JavaScript, , JavaScript, typeof . JavaScript typeof "object" , .
typeof , , :
typeof i(typeof value == "string") ? "'" + value + "'" : value
typeof , typeof , :
typeof(i)
typeof "object", , . , , instanceof constructor ( Object.constructor, ).
typeof ECMAScript v1 JavaScript 1.1 .
5.10.3. (new) new . , :
new ()
, , , . new JavaScript , , . new:
o = new Object; // d = new Date(); // Date, c = new Rectangle(3.0, 4.0, 1.5, 2.75); // Rectangleobj[i] = new constructors[i]();
new , , , this.
-
96 5.
. 7 new, this .
new new Array(). 7.
5.10.4. delete delete , , .1 true, , false . JavaScript . , , var. delete , true. ( , ECMAScript , delete true, , .) :
var o = {x:1, y:2}; // ; delete o.x; // ; truetypeof o.x; // ; "undefined"delete o.x; // ; truedelete o; // ; falsedelete 1; // ; truex = 1; // vardelete x; // ; truex; // : x
: , undefined. , . 4.3.2.
, delete , , . :
var my = new Object(); // "my"my.hire = new Date(); // my.hire Datemy.fire = my.hire; // my.fire delete my.hire; // hire ; truedocument.write(my.fire); // my.fire Date
5.10.5. void void , . :
1 , C++, , delete JavaScript delete C++. JavaScript . delete C++, , .
-
5.10. 97
undefined. URL javascript:, , .
, void HTML:
void undefined. void ECMAScript v1 JavaScript 1.1. ECMAScript v3 undefined, JavaScript 1.5. void 0, undefined.
5.10.6. (,) . , , . .
i=0, j=1, k=2;
2 :
i = 0;j = 1;k = 2;
; , , . for, 6.
5.10.7. 3, ([]), (.). , JavaScript .
, ( ). , ; . :
document.lastModifiednavigator.appNameframes[0].lengthdocument.write("hello world")
, JavaScript , undefined.
, .
-
98 5.
: . .
[] . , . ( ) , ( ) , . :
frames[1]document.forms[i + j]document.forms[i].elements[j++]
[] , , , . : , . , , , . :
document["lastModified"]frames[0]['length']data["val" + i]
[] . , , . . . , , []. for/in, 6. , o for/in []:
for (f in o) { document.write('o.' + f + ' = ' + o[f]); document.write('
');}5.10.8. () JavaScript . , . , . , , . . () , , . :
document.close()Math.sin(x)alert("Welcome " + name)Date.UTC(2000, 11, 31, 23, 59, 59)funcs[i].f(funcs[i].args[0], funcs[i].args[1])
-
, JavaScript, . , . , ' JavaScript, . JavaScript. JavaScript , , .
JavaScript, , 2.4 , JavaScript . , JavaScript . .
6.1. JavaScript , . 5. . :
s = " " + name;i *= 3;
, ++ , . , :
counter++;
delete . , :
-
100 6.
delete o.x;
. :
alert(" , " + name);window.close();
, , .
, , . , :
Math.cos(x);
, :
cx = Math.cos(x);
: .
6.2. 5 , . JavaScript . . , , JavaScript :
{ x = Math.PI; cx = Math.cos(x); alert("cos(" + x + ") = " + cx);}
, , . , .
, . , JavaScript ( ); . JavaScript , . , .
, JavaScript ,
-
6.3. if 101
. , . , break, continue, return throw . .
6.3. if if , JavaScript , , . . :
if ()
if . true true, . false false, . :
if (username == null) // username null undefined, username = "John Doe"; //
:
// username null, undefined, 0, "" NaN, // false, .if (!username) username = "John Doe";
, if. , . if :
if ((address == null) || (address == "")) { address = "undefined"; alert(", .");}
, , . JavaScript, , . , , .
if else, , false. :
if ()
1else
2
, true, 1, 2. :
-
102 6.
if (username != null) alert(" " + username + "\n .");else { username = prompt(" !\n ?"); alert(" " + username);}
if else , else if. :
i = j = 1;k = 2;if (i == j) if (j == k) document.write("i k");else document.write("i j"); // !!
if if. , ( , ), if else. , JavaScript :
if (i == j) { if (j == k) document.write("i k"); else document.write("i j"); // OOPS!}
JavaScript ( ): else if. , , , :
if (i == j) { if (j == k) { document.write("i k"); }}else { // ! document.write("i j");}
if else ( , while) , . , .
6.4. else if , if/else
-
6.5. switch 103
. ? else if. JavaScript, , if/else:
if (n == 1) { // 1}else if (n == 2) { // 2}else if (n == 3) { // 3}else { // else , 4}
. if, if else . else if , :
if (n == 1) { // 1}else { if (n == 2) { // 2 } else { if (n == 3) { // 3 } else { // else , 4 } }}
6.5. switch if . if, . , . if.
switch , if. switch JavaScript switch Java C. switch , if:
-
104 6.
switch() { }
switch , . case, . switch, , case, . , , , case. case , , default:. default: , .
switch , . switch if/else, :
switch(n) { case 1: // , n == 1 // 1. break; // case 2: // , n == 2 // 2. break; // case 3: // , n == 3 // 3. break; // default: // ... // 4. break; // }
break case. break, , switch . case switch , . break switch case, , , . , case , 99 % case break. ( switch break return. switch case.)
switch; , :
function convert(x) { switch(typeof x) { case 'number': // return x.toString(16); case 'string': // , return '"' + x + '"'; case 'boolean': // TRUE FALSE,
-
6.6. while 105
return x.toString().toUpperCase();
default: //
return x.toString()
}
}
: case . switch , ECMAScript v3 case .1 :
case 60*60*24:
case Math.PI:
case n+1:
case a[0]:
switch switch, case , , .2 ===, ==, .
: case, , , , . . switch case. , . case .
, case switch, switch default:. default: , switch . , default: switch case. , switch.
6.6. while if , JavaScript , while
1 switch JavaScript switch C, C++ Java. case , , integer , .
2 , switch JavaScript , C, C+ Java. case , , , JavaScript. , case C, C++ Java , switch .
-
106 6.
, JavaScript . :
while ()
while . false, JavaScript , true, , , . , false, JavaScript , . , false, while JavaScript . while(true) .
, JavaScript . . , , , . , ( ) , . , . . , true, ! while:
var count = 0;while (count < 10) { document.write(count + "
"); count++;}, count 0, , . 10 , false(. . count 10), while JavaScript . , count. i, j k, , .
6.7. do/while do/while while, , , . , . :
do while ();
do/while , while. , , , . :
-
6.8. for 107
function printArray(a) { if (a.length == 0) document.write(" "); else { var i = 0; do { document.write(a[i] + "
"); } while (++i < a.length); }}do/while while . , do do ( ), while ( ). , while, do . , do , , .
6.8. for, for, , while. for , ( while). . , . , , .
, , ; for . , for, , . for:
for(; ; )
for, while:1
;while() { ;}
, . , , ( ), . . .
1 continue, while for.
-
108 6.
JavaScript , var, . , . true, , . . , , . , , ++ .
while , 0 9, for:
for(var count = 0; count < 10; count++)
document.write(count + "
");, , . , for ; .
, , , . JavaScript, , for. :
for(i = 0, j = 10; i < 10; i++, j)