markdown:
# JavaScript
|Bài viết này
|cần thêm .
-
*Xin đừng nhầm lẫn với* [Java (ngôn ngữ lập trình)](/wiki/Java_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh))
-
|
|![]()
[Multi-paradigm](/w/index.php?title=Multi-paradigm&action=edit&redlink=1): [scripting](/w/index.php?title=Scripting_language&action=edit&redlink=1), [object-oriented](/w/index.php?title=Object-oriented_programming&action=edit&redlink=1)( [prototype-based](/w/index.php?title=Prototype-based_programming&action=edit&redlink=1)), [imperative](/w/index.php?title=Imperative_programming&action=edit&redlink=1), [functional](/w/index.php?title=Functional_programming&action=edit&redlink=1) [[1]](#cite_note-FOOTNOTEFlanagan20111.E2.80.932-1) [Brendan Eich](/w/index.php?title=Brendan_Eich&action=edit&redlink=1) [Nhà phát triển](/wiki/Nh%C3%A0_ph%C3%A1t_tri%E1%BB%83n_ph%E1%BA%A7n_m%E1%BB%81m) [Netscape Communications Corporation](/w/index.php?title=Netscape_Communications_Corporation&action=edit&redlink=1), [Mozilla Foundation](/wiki/Mozilla_Foundation), [Ecma International](/w/index.php?title=Ecma_International&action=edit&redlink=1) [dynamic](/w/index.php?title=Dynamic_typing&action=edit&redlink=1), [duck](/w/index.php?title=Duck_typing&action=edit&redlink=1) [Carakan](/w/index.php?title=Linear_b_(script_engine)&action=edit&redlink=1), [Chakra](/w/index.php?title=Chakra_(JScript_engine)&action=edit&redlink=1), [KJS](/w/index.php?title=KJS_(KDE)&action=edit&redlink=1), [Nashorn](/w/index.php?title=Nashorn_(JavaScript_engine)&action=edit&redlink=1), [Rhino](/w/index.php?title=Rhino_(JavaScript_engine)&action=edit&redlink=1), [SpiderMonkey](/w/index.php?title=SpiderMonkey_(JavaScript_engine)&action=edit&redlink=1), [V8](/w/index.php?title=V8_(JavaScript_engine)&action=edit&redlink=1) [Lua](/w/index.php?title=Lua_(programming_language)&action=edit&redlink=1), [Scheme](/w/index.php?title=Scheme_(programming_language)&action=edit&redlink=1), [Perl](/wiki/Perl), [Self](/w/index.php?title=Self_(programming_language)&action=edit&redlink=1), [Java](/w/index.php?title=Java_(programming_language)&action=edit&redlink=1), [C](/w/index.php?title=C_(programming_language)&action=edit&redlink=1), [Python](/w/index.php?title=Python_(programming_language)&action=edit&redlink=1), [AWK](/wiki/AWK), [HyperTalk](/w/index.php?title=HyperTalk&action=edit&redlink=1) [ActionScript](/wiki/ActionScript), [AtScript](/w/index.php?title=AtScript&action=edit&redlink=1), [CoffeeScript](/w/index.php?title=CoffeeScript&action=edit&redlink=1), [Dart](/w/index.php?title=Dart_(programming_language)&action=edit&redlink=1), [JScript.NET](/w/index.php?title=JScript.NET&action=edit&redlink=1), [Objective-J](/w/index.php?title=Objective-J&action=edit&redlink=1), [QML](/w/index.php?title=QML&action=edit&redlink=1), [TypeScript](/w/index.php?title=TypeScript&action=edit&redlink=1), [LiveScript](/wiki/LiveScript) **JavaScript**, theo phiên bản hiện hành, là một [ngôn ngữ lập trình kịch bản](/wiki/Ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh_k%E1%BB%8Bch_b%E1%BA%A3n) [dựa trên đối tượng](/w/index.php?title=D%E1%BB%B1a_tr%C3%AAn_%C4%91%E1%BB%91i_t%C6%B0%E1%BB%A3ng&action=edit&redlink=1) được phát triển từ các ý niệm [nguyên mẫu](/w/index.php?title=L%E1%BA%ADp_tr%C3%ACnh_d%E1%BB%B1a_tr%C3%AAn_nguy%C3%AAn_m%E1%BA%ABu&action=edit&redlink=1). Ngôn ngữ này được dùng rộng rãi cho các [trang web](/wiki/Website), nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng. Nó vốn được phát triển bởi [Brendan Eich](/w/index.php?title=Brendan_Eich&action=edit&redlink=1) tại [Hãng truyền thông Netscape](/wiki/Netscape) với cái tên đầu tiên *Mocha*, rồi sau đó đổi tên thành *LiveScript*, và cuối cùng thành JavaScript. Giống [Java](/wiki/Java_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh)), JavaScript có [cú pháp](/wiki/C%C3%BA_ph%C3%A1p_h%E1%BB%8Dc) tương tự [C](/wiki/C_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh)), nhưng nó gần với [Self](/w/index.php?title=Self_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh)&action=edit&redlink=1) hơn Java. **.js** là [phần mở rộng](/w/index.php?title=Ph%E1%BA%A7n_m%E1%BB%9F_r%E1%BB%99ng&action=edit&redlink=1) thường được dùng cho [tập tin](/wiki/T%E1%BA%ADp_tin) [mã nguồn](/wiki/M%C3%A3_ngu%E1%BB%93n) JavaScript.
Phiên bản mới nhất của JavaScript là phiên bản 1.5, tương ứng với ECMA-262 bản 3.
[ECMAScript](/w/index.php?title=ECMAScript&action=edit&redlink=1) là phiên bản chuẩn hóa của JavaScript. Trình duyệt [Mozilla](/wiki/Mozilla) phiên bản 1.8 [beta](/wiki/Beta) 1 có hỗ trợ không đầy đủ cho [E4X](/w/index.php?title=E4X&action=edit&redlink=1) - phần mở rộng cho JavaScript hỗ trợ làm việc với [XML](/wiki/XML), được chuẩn hóa trong ECMA-357.
## Mục lục
[1 Java, JavaScript và JScript](#Java.2C_JavaScript_v.C3.A0_JScript) [2 Ứng dụng](#.E1.BB.A8ng_d.E1.BB.A5ng) [3 Các thành phần cú pháp chính](#C.C3.A1c_th.C3.A0nh_ph.E1.BA.A7n_c.C3.BA_ph.C3.A1p_ch.C3.ADnh) [3.1 Khoảng trắng](#Kho.E1.BA.A3ng_tr.E1.BA.AFng) [3.2 Chú thích](#Ch.C3.BA_th.C3.ADch) [3.3 Biến](#Bi.E1.BA.BFn) [3.4 Toán tử](#To.C3.A1n_t.E1.BB.AD) [3.5 Câu lệnh điều khiển](#C.C3.A2u_l.E1.BB.87nh_.C4.91i.E1.BB.81u_khi.E1.BB.83n) [3.6 Vòng lặp](#V.C3.B2ng_l.E1.BA.B7p) [3.7 Hàm](#H.C3.A0m) [3.8 Mảng](#M.E1.BA.A3ng) [3.9 Đối tượng](#.C4.90.E1.BB.91i_t.C6.B0.E1.BB.A3ng) [3.10 Quản lý lỗi](#Qu.E1.BA.A3n_l.C3.BD_l.E1.BB.97i)
-
[4 Các ngôn ngữ dựa trên JavaScript](#C.C3.A1c_ng.C3.B4n_ng.E1.BB.AF_d.E1.BB.B1a_tr.C3.AAn_JavaScript) [5 Ví dụ](#V.C3.AD_d.E1.BB.A5) [6 Xem thêm](#Xem_th.C3.AAm) [7 Tham khảo](#Tham_kh.E1.BA.A3o) [8 Liên kết ngoài](#Li.C3.AAn_k.E1.BA.BFt_ngo.C3.A0i)
## Java, JavaScript và JScript[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=1) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=1)]
Cùng thời điểm Netscape bắt đầu sử dụng công nghệ Java trên
[trình duyệt Netscape](/w/index.php?title=Tr%C3%ACnh_duy%E1%BB%87t_Netscape&action=edit&redlink=1), LiveScript đã được đổi tên thành JavaScript để được chú ý hơn bởi ngôn ngữ lập trình [Java](/wiki/Java_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh)) lúc đó đang được coi là một hiện tượng. JavaScript được bổ sung vào [trình duyệt](/wiki/Tr%C3%ACnh_duy%E1%BB%87t_web) Netscape bắt đầu từ phiên bản 2.0b3 của trình duyệt này vào tháng 12 năm [1995](/wiki/1995). Trên thực tế, JavaScript không được phát triển dựa từ Java. Do đó JavaScript chỉ dựa trên các cách đặt tên của Java. Java Script gồm 2 mảng là client-server thực hiện lệnh trên máy của end-user và web-server.
Sau thành công của JavaScript,
[Microsoft](/wiki/Microsoft) bắt đầu phát triển [JScript](/wiki/JScript), một ngôn ngữ có cùng ứng dụng và tương thích với JavaScript. JScript được bổ sung vào trình duyệt [Internet Explorer](/wiki/Internet_Explorer) bắt đầu từ Internet Explorer phiên bản 3.0 được phát hành tháng 8 năm [1996](/wiki/1996). [DOM (Document Object Model)](/wiki/DOM), một khái niệm thường được nhắc đến với JavaScript trên thực tế không phải là một phần của chuẩn ECMAScript, DOM là một chuẩn riêng biệt có liên quan chặt chẽ với XML.
## Ứng dụng[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=2) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=2)]
JavaScript là một ngôn ngữ
[lập trình dựa trên nguyên mẫu](/w/index.php?title=L%E1%BA%ADp_tr%C3%ACnh_d%E1%BB%B1a_tr%C3%AAn_nguy%C3%AAn_m%E1%BA%ABu&action=edit&redlink=1) với cú pháp phát triển từ C. Giống như C, JavaScript có khái niệm [từ khóa](/wiki/T%E1%BB%AB_kh%C3%B3a), do đó, JavaScript gần như không thể được mở rộng.
Cũng giống như C, JavaScript không có bộ xử lý
[xuất/nhập](/w/index.php?title=Xu%E1%BA%A5t/nh%E1%BA%ADp&action=edit&redlink=1) ( *input/output*) riêng. Trong khi C sử dụng [thư viện](/wiki/Th%C6%B0_vi%E1%BB%87n) xuất/nhập chuẩn, JavaScript dựa vào phần mềm ngôn ngữ được gắn vào để thực hiện xuất/nhập.
Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động và một số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được với chỉ
[HTML](/wiki/HTML) như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh,... Ở [Việt Nam](/wiki/Vi%E1%BB%87t_Nam), JavaScript còn được ứng dụng để làm [bộ gõ tiếng Việt](/wiki/B%E1%BB%99_g%C3%B5_ti%E1%BA%BFng_Vi%E1%BB%87t) giống như bộ gõ hiện đang sử dụng trên trang [Wikipedia](/wiki/Wikipedia) [tiếng Việt](/wiki/Ti%E1%BA%BFng_Vi%E1%BB%87t). Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo chuẩn [W3C](/wiki/W3C) DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt. Một số công nghệ nổi bật dòng JavaScript để tương tác với DOM bao gồm [DHTML](/wiki/HTML_%C4%91%E1%BB%99ng), [Ajax](/wiki/Ajax) và [SPA](/w/index.php?title=SPA&action=edit&redlink=1).
Bên ngoài trình duyệt, JavaScript có thể được sử dụng trong
[tập tin](/wiki/T%E1%BA%ADp_tin) [Adobe Acrobat](/wiki/Adobe_Acrobat) và [Adobe Reader](/wiki/Adobe_Acrobat). [Điều khiển Dashboard](/w/index.php?title=%C4%90i%E1%BB%81u_khi%E1%BB%83n_Dashboard&action=edit&redlink=1) trên [hệ điều hành](/wiki/H%E1%BB%87_%C4%91i%E1%BB%81u_h%C3%A0nh) [Mac OS X](/wiki/Mac_OS_X) phiên bản 10.4 cũng có sử dụng JavaScript. Công nghệ [kịch bản linh động](/w/index.php?title=K%E1%BB%8Bch_b%E1%BA%A3n_linh_%C4%91%E1%BB%99ng&action=edit&redlink=1) ( *active scripting*) của Microsoft có hỗ trợ ngôn ngữ JScript làm một ngôn ngữ kịch bản dùng cho hệ điều hành. [JScript.NET](/w/index.php?title=JScript.NET&action=edit&redlink=1) là một ngôn ngữ tương thích với [CLI](/w/index.php?title=CLI&action=edit&redlink=1) gần giống JScript nhưng có thêm nhiều tính năng lập trình hướng đối tượng.
Mỗi ứng dụng này đều cung cấp
[mô hình](/w/index.php?title=M%C3%B4_h%C3%ACnh&action=edit&redlink=1) đối tượng riêng cho phép tương tác với môi trường chủ, với phần lõi là ngôn ngữ lập trình JavaScript gần như giống nhau.
## Các thành phần cú pháp chính[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=3) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=3)]
### Khoảng trắng[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=4) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=4)] [Dấu cách](/w/index.php?title=D%E1%BA%A5u_c%C3%A1ch&action=edit&redlink=1), [tab](/wiki/Tab) và [ký tự dòng mới](/w/index.php?title=K%C3%BD_t%E1%BB%B1_d%C3%B2ng_m%E1%BB%9Bi&action=edit&redlink=1) sử dụng bên ngoài một [chuỗi ký tự](/w/index.php?title=Chu%E1%BB%97i_k%C3%BD_t%E1%BB%B1&action=edit&redlink=1) được gọi là [khoảng trắng](/w/index.php?title=Kho%E1%BA%A3ng_tr%E1%BA%AFng&action=edit&redlink=1). Khác với C, khoảng trắng trong JavaScript có thể ảnh hưởng trực tiếp tới ý nghĩa của câu lệnh. Sử dụng phương pháp "tự động thêm [dấu chấm phẩy](/wiki/D%E1%BA%A5u_ch%E1%BA%A5m_ph%E1%BA%A9y)", bất cứ một dòng JavaScript nào thích hợp sẽ được coi là một câu lệnh hợp lệ (giống như có dấu chấm phẩy trước ký tự dòng mới).
Tuy trong phần lớn trường hợp, dấu chấm phẩy trước khi kết thúc một dòng JavaScript là không cần thiết để đoạn
[mã nguồn](/wiki/M%C3%A3_ngu%E1%BB%93n) hoạt động chính xác, [lập trình viên](/wiki/L%E1%BA%ADp_tr%C3%ACnh_vi%C3%AAn) nên sử dụng dấu chấm phẩy sau mỗi câu lệnh để đoạn mã nguồn dễ nhìn hơn. Ngoài ra, do đặc thù của JavaScript - chuyên dùng trên trang web, kích cỡ của đoạn mã nguồn là quan trọng, có một số [phần mềm](/wiki/Ph%E1%BA%A7n_m%E1%BB%81m) có thể làm giảm kích cỡ của đoạn mã nguồn JavaScript bằng cách bỏ đi những khoảng trắng không cần thiết, để những phần mềm này hoạt động chính xác, lập trình viên cần thêm dấu chấm phẩy vào cuối mỗi câu lệnh.
### Chú thích[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=5) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=5)]
Cú pháp
[chú thích](/wiki/Ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh#COMMENT) của JavaScript giống với [C++](/wiki/C%2B%2B). Lập trình viên có thể chú thích trên nhiều dòng bằng cách bao bọc chú thích với /* và */ hoặc sử dụng // để chú thích từ vị trí // đến hết dòng.
// Đây là chú thích trên một dòng. /* Đây là chú thích trên nhiều dòng. Đây là chú thích 1 Đây là chú thích 2 */
### Biến[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=6) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=6)]
Trước khi sử dụng
[biến](/wiki/Bi%E1%BA%BFn_s%E1%BB%91) trong JavaScript, lập trình viên không nhất thiết phải khai báo biến. Có hai cách để định nghĩa biến trong JavaScript. Một là sử dụng cú pháp `var` để khai báo biến:
var tên_biến;
Ngoài ra, lập trình viên có thể chỉ việc gán cho biến một giá trị để sử dụng biến đó. Biến được định nghĩa ngoài tất cả các
[hàm](/wiki/H%C3%A0m) hoặc được sử dụng mà không khai báo với cú pháp `var` sẽ được coi là biến toàn cục, những biến này có thể sử dụng trên toàn trang web. Biến được khai báo với `var` bên trong một hàm là biến cục bộ của hàm đó và chỉ có thể sử dụng được bên trong hàm đó.
### Toán tử[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=7) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=7)]
Một
[toán tử](/wiki/To%C3%A1n_t%E1%BB%AD) xác định phép toán sẽ được thực hiện trên các giá trị của các [biến](/wiki/Bi%E1%BA%BFn_s%E1%BB%91), và các biểu thức. Javascript cung cấp nhiều loại toán tử khác nhau để thực hiện việc tính toán, và đánh giá từ đơn giản đến phức tạp.
Các toán tử của Javascript được phân thành sáu thể loại dựa trên loại hành động của chúng thực hiện với các toán hạng. Bao gồm toán tử số học, toán tử quan hệ, toán tử luận lý, toán tử thao tác bit, toán tử gán, toán tử đặc biệt.
#### Toán tử số học[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=8) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=8)]
Các toán tử số học là các toán tử nhị phân, khi chúng thực hiện các phép tính cơ bản trên hai toán hạng. Toán tử xuất hiện ở giữa hai toán hạng, cho phép bạn thực hiện các phép tính với giá trị số và chuỗi. Các toán tử bao gồm:
**+** (cộng), **-** (trừ), ***** (nhân), **/** (chia), **%** (chia lấy dư).
Ví dụ:
var result; result = 2 + 4; // result = 6 result = 2 - 4; // result = -2 result = 2 * 4; // result = 8 result = 2 / 4; // result = 0.5 result = 2 % 4; // result = 2
#### Toán tử tăng, và giảm[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=9) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=9)]
Các toán tử tăng và giảm là các toán tử đơn hạng, vì chúng chỉ thực hiện được trên một toán hạng duy nhất. Toán tử tăng làm tăng giá trị lên 1, trong khi toán tử giảm làm giảm giá trị xuống 1, các toán tử có thể được đặt trước, hoặc sau toán hạng. Các toán tử bao gồm:
**++** (tăng), **--** (giảm).
Ví dụ:
var x = 2; var y; y = x++; // x = 3, y = 2 y = ++x; // x = 3, y = 3 y = x--; // x = 1, y = 2 y = --x; // x = 1, y = 1
#### Toán tử quan hệ[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=10) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=10)]
Toán tử quan hệ là các toán tử dùng để so sánh giữa hai toán hạng. Sau khi thực hiện một so sánh, chúng trả lại một giá trị true (đúng) hay false (sai). Các toán tử bao gồm:
**==** (bằng nhau), **!=** (khác nhau), **===** (bằng nhau và cùng loại), **!==** (khác nhau và khác loại), **>** (lớn hơn), **<** (nhỏ hơn), **>=** (lớn hơn hoặc bằng), **<=** (nhỏ hơn hoặc bằng).
Ví dụ:
var result; result = 3 == "3"; // result = true result = 3 != 3; // result = false result = 3 === "3"; // result = false result = 3 !== "3"; // result = true result = 3 > 4; // result = false result = 3 < 4; // result = true result = 3 >= 3; // result = true result = 3 <= 4; // result = true
#### Toán tử luận lý[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=11) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=11)]
Các toán tử luận lý là các toán tử nhị phân thực hiên các phép toán logic trên hai toán hạng. Chúng thuộc loại toán tử quan hệ, vì chúng trả về một giá trị boolean. Các toán tử bao gồm:
**&&** (và), **||** (hoặc), **!** (phủ định).
Ví dụ:
var x = 2, y = 5; var result; result = (x == 3) && (y == 5); // result = false result = (x == 3) || (y == 5); // result = true result = !(x == 3); // result = true
#### Toán tử đặc biệt[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=12) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=12)]
Toán từ điều kiện còn được biết đến với tên gọi
[toán tử tam phân](/w/index.php?title=To%C3%A1n_t%E1%BB%AD_tam_ph%C3%A2n&action=edit&redlink=1). Cú pháp của toán tử này như sau:
điều_kiện ? biểu_thức_đúng: biểu_thức_sai;
Toán tử này sẽ trả lại giá trị là kết quả của biểu_thức_đúng nếu điều_kiện có giá trị bool bằng
[true](/w/index.php?title=True&action=edit&redlink=1), ngược lại nó sẽ trả lại giá trị bằng biểu_thức_sai.
### Câu lệnh điều khiển[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=13) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=13)]
#### Câu lệnh
`if... else`[ [sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=14) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=14)]
Cú pháp
`if... else` dùng trong trường hợp muốn rẽ nhánh theo điều kiện. Cú pháp này tương đương với nếu x thì làm y, còn nếu không thì làm z. Các câu lệnh `if... else` có thể lồng trong nhau.
Cú pháp:
if (biểu_thức_1) { khối lệnh được thực hiện nếu biểu thức 1 đúng; } else if (biểu_thức_2) { khối lệnh được thực hiện nếu biểu thức 2 đúng; } else { khối lệnh được thực hiện nếu cả hai biểu thức trên đều không đúng; }
Ví dụ:
var x = prompt("Nhập vào giá trị của x:"); x = parseFloat(x); if (!isNaN(x)) { if (x > 0) { alert("x > 0"); } else if (x == 0) { alert("x = 0"); } else { alert("x < 0"); } } else { alert("giá trị bạn nhập không phải là một số"); }
Đoạn mã nguồn trên mở một hộp thoại yêu cầu nhập vào một giá trị số, sau đó hiển thị thông báo số đó lớn hơn 0, bằng 0 hay nhỏ hơn 0.
#### Câu lệnh
`switch... case`[ [sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=15) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=15)]
Cú pháp
`switch` cũng là cú pháp điều kiện như `if... else` hay toán tử tam phân. Tuy nhiên, cú pháp `switch` thường được dùng khi chỉ cần so sánh bằng với số lượng kết quả cần kiểm tra lớn. Cách sử dụng cú pháp `switch`:
switch (biểu_thức_điều_kiện) { case kết_quả_1: khối lệnh cần thực hiện nếu biểu_thức_điều_kiện bằng kết_quả_1; break; case kết_quả_2: khối lệnh cần thực hiện nếu biểu_thức_điều_kiện bằng kết_quả_2; break; default: khối lệnh cần thực hiện nếu biểu_thức_điều_kiện cho ra một kết quả khác; break; }
Sau mỗi khối lệnh trong một mục kiểm tra kết quả (trừ mục
`default`), lập trình viên cần phải thêm vào `break`.
### Vòng lặp[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=16) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=16)]
#### Vòng lặp
`while`[ [sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=17) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=17)] [Vòng lặp](/w/index.php?title=V%C3%B2ng_l%E1%BA%B7p&action=edit&redlink=1) `while` có mục đích lặp đi lặp lại một khối lệnh nhất định cho đến khi biểu thức điều kiện trả về [false](/w/index.php?title=False&action=edit&redlink=1). Khi dùng vòng lặp `while` phải chú ý tạo lối thoát cho vòng lặp (làm cho biểu thức điều kiện có giá trị `false`), nếu không đoạn mã nguồn sẽ rơi vào [vòng lặp vô hạn](/w/index.php?title=V%C3%B2ng_l%E1%BA%B7p_v%C3%B4_h%E1%BA%A1n&action=edit&redlink=1), là một [lỗi lập trình](/w/index.php?title=L%E1%BB%97i_l%E1%BA%ADp_tr%C3%ACnh&action=edit&redlink=1). Vòng lặp `while` thường được dùng khi lập trình viên không biết chính xác cần lặp bao nhiêu lần. Cú pháp của vòng lặp `while` như sau:
while (biểu_thức_điều_kiện) { khối lệnh cần thực hiện nếu biểu_thức_điều_kiện trả về true; }
#### Vòng lặp
`do... while`[ [sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=18) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=18)]
Về cơ bản, vòng lặp
`do... while` gần như giống hệt như vòng lặp `while`. Tuy nhiên, trong trường hợp biểu thức điều kiện trả về `false` ngay từ đầu, khối lệnh trong vòng lặp `while` sẽ không bao giờ được thực hiện, trong khi đó, vòng lặp `do... while` luôn đảm bảo khối lệnh trong vòng lặp được thực hiện ít nhất một lần. Ví dụ:
while (0 > 1) { alert("while"); // Câu lệnh này sẽ không bao giờ được thực hiện } do { alert("do... while"); // Bạn sẽ nhận được thông báo "do... while" một lần duy nhất } while (0 > 1);
Cú pháp của vòng lặp
`do... while` như sau:
do { khối lệnh; } while (biểu_thức_điều_kiện);
#### Vòng lặp
`for`[ [sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=19) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=19)]
Vòng lặp
`for` thường được sử dụng khi cần lặp một khối lệnh mà lập trình viên biết trước sẽ cần lặp bao nhiêu lần. Cú pháp của vòng lặp `for` như sau:
for (biểu_thức_khởi_tạo; biểu_thức_điều_kiện; biểu_thức_thay_đổi_giá_trị) { Khối lệnh cần lặp; }
Khi bắt đầu vòng lặp
`for`, lập trình viên cần khởi tạo một biến nhất định bằng biểu_thức_khởi_tạo để dùng trong biểu_thức_điều_kiện, nếu biểu_thức_điều_kiện trả về `true`, khối lệnh cần lặp sẽ được thực hiện, sau khi thực hiện xong khối lệnh cần lặp, biểu_thức_thay_đổi_giá_trị sẽ được thực hiện, tiếp theo, biểu_thức_điều_kiện sẽ lại được kiểm tra, cứ như vậy cho đến khi biểu_thức_điều_kiện trả về `false`, khi đó vòng lặp sẽ kết thúc.
#### Vòng lặp
`for... in`[ [sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=20) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=20)]
Vòng lặp
`for... in` dùng để lặp qua tất cả các thuộc tính của một đối tượng (hay lặp qua tất cả các phần tử của một mảng). Cú pháp của vòng lặp này như sau:
for (biến in đối_tượng) { khối lệnh cần thực hiện, có thể sử dụng đối_tượng[biến] để truy cập từng thuộc tính (phần tử) của đối tượng; }
### Hàm[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=21) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=21)]
Hàm là một khối các câu lệnh với một danh sách một hoặc nhiều
[đối số](/wiki/Tham_s%E1%BB%91_(khoa_h%E1%BB%8Dc_m%C3%A1y_t%C3%ADnh)) (có thể không có đối số) và thường có tên (mặc dù trong JavaScript hàm không nhất thiết phải có tên). Hàm có thể trả lại một giá trị. Cú pháp của hàm như sau:
function tên_hàm(đối_số_1, đối_số_2) { các câu lệnh cần thực hiện mỗi khi hàm được gọi; return giá_trị_cần_trả_về; } tên_hàm(1, 2); // Gọi hàm tên_hàm với hai đối số 1 và 2 ứng với đối_số_1 và đối_số_2 tên_hàm(1); // Gọi hàm tên_hàm với đối_số_1 có giá trị 1, đối_số_2 có giá trị undefined
Trong JavaScript, khi gọi hàm không nhất thiết phải gọi hàm với cùng số đối số như khi định nghĩa hàm, nếu số đối số ít hơn khi định nghĩa hàm, những đối số không được chuyển cho hàm sẽ mang giá trị
`undefined`.
Các kiểu cơ bản sẽ được chuyển vào hàm
[theo giá trị](/w/index.php?title=Theo_gi%C3%A1_tr%E1%BB%8B&action=edit&redlink=1), đối tượng sẽ được chuyển vào hàm [theo tham chiếu](/w/index.php?title=Theo_tham_chi%E1%BA%BFu&action=edit&redlink=1).
Hàm là
[đối tượng hạng nhất](/w/index.php?title=%C4%90%E1%BB%91i_t%C6%B0%E1%BB%A3ng_h%E1%BA%A1ng_nh%E1%BA%A5t&action=edit&redlink=1) trong JavaScript. Tất cả các hàm là đối tượng của nguyên mẫu `Function`. Hàm có thể được tạo và dùng trong phép toán gán như bất kỳ một đối tượng nào khác, và cũng có thể được dùng làm đối số cho các hàm khác. Do đó, JavaScript hỗ trợ [hàm cấp độ cao](/w/index.php?title=H%C3%A0m_c%E1%BA%A5p_%C4%91%E1%BB%99_cao&action=edit&redlink=1). Ví dụ:
Array.prototype.fold = function (value, functor) { var result = value; for (var i = 0; i < this.length; i++) { result = functor(result, this[i]); } return result; } var sum = [1,2,3,4,5,6,7,8,9,10].fold(0, function (a, b) { return a + b; });
Đoạn mã nguồn trên sẽ trả lại kết quả là 55.
Vì hàm trong JavaScript là đối tượng, lập trình viên có thể khởi tạo hàm không tên:
function() { thân hàm; }
Một ví dụ sử dụng hàm không tên trong JavaScript:
document.onkeypress = function(e) { alert("Bạn vừa nhấn một phím trên bàn phím"); }
Hàm trên sẽ hiển thị thông báo khi một số phím trên
[bàn phím](/wiki/B%C3%A0n_ph%C3%ADm) có thể gây sự kiện `onkeypress` được nhấn.
Mặc định, tất cả các thành phần của đối tượng thuộc phạm vi công cộng (
`public`). Trong JavaScript, không có khái niệm thành phần riêng hay thành phần được bảo vệ ( `private` và `protected`), tuy nhiên những tính năng này có thể được giả lập.
### Mảng[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=22) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=22)]
Mảng trong JavaScript là một bảng liên kết
[chỉ mục](/w/index.php?title=Ch%E1%BB%89_m%E1%BB%A5c&action=edit&redlink=1) đến giá trị. Trong JavaScript, tất cả các đối tượng đều có thể liên kết chỉ mục đến giá trị, nhưng mảng là một đối tượng đặc biệt có thêm nhiều tính năng xử lý chỉ mục và dữ liệu đặc biệt (ví dụ: `push`, `join`, v.v.)
Mảng trong JavaScript có thuộc tính
`length`. Thuộc tính `length` của JavaScript luôn luôn lớn hơn số chỉ mục lớn nhất trong mảng một đơn vị. Trong phần lớn ngôn ngữ lập trình, những thuộc tính có tính năng như `length` thường là thuộc tính [chỉ đọc](/w/index.php?title=Ch%E1%BB%89_%C4%91%E1%BB%8Dc&action=edit&redlink=1), tuy nhiên, với JavaScript, lập trình viên có thể thay đổi thuộc tính `length`. Bằng cách thay đổi thuộc tính `length`, lập trình viên có thể làm mảng lớn hơn hoặc nhỏ hơn (và xóa đi những chỉ mục lớn hơn hoặc bằng thuộc tính `length` mới).
Mảng trong JavaScript là
[mảng rải rác](/w/index.php?title=M%E1%BA%A3ng_r%E1%BA%A3i_r%C3%A1c&action=edit&redlink=1), có nghĩa là cho dù lập trình viên có một mảng như sau:
var test = new Array(); test[2] = 0; test[100] = 5;
Trong trường hợp này, dù mảng có đến chỉ mục mang số 100 thì mảng cũng chỉ chiếm bộ nhớ của hai số 0 và 5. Tuy nhiên, thuộc tính
`length` sẽ có giá trị 101 do chỉ mục lớn nhất của mảng trong ví dụ trên là 100.
Ngoài ra, mảng cũng có thể được khai báo một cách ngắn gọn, cách này thông thường được sử dụng:
var ary = [1, 2, 3];
Một số ví dụ về mảng:
var test = new Array(10); // Tạo một mảng 10 chỉ mục var test2 = new Array(0, 1, 2, , 3); // Tạo một mảng với bốn giá trị và 5 chỉ mục var test3 = new Array(); test3["1"] = 123; // Hoàn toàn đúng cú pháp
Lập trình viên cũng có thể định nghĩa cấu trúc bằng đối tượng như sau:
var myStructure = { name: { first: "Mel", last: "Smith" }, age: 33, hobbies: [ "chess", "jogging" ] };
Cú pháp định nghĩa cấu trúc bằng đối tượng trên có một chuẩn trên danh nghĩa là
[JSON](/wiki/JavaScript_Object_Notation).
### Đối tượng[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=23) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=23)]
Kiểu của JavaScript được chia ra làm hai loại:
[kiểu cơ bản](/w/index.php?title=Ki%E1%BB%83u_c%C6%A1_b%E1%BA%A3n&action=edit&redlink=1) và [đối tượng](/wiki/%C4%90%E1%BB%91i_t%C6%B0%E1%BB%A3ng). Đối tượng trong JavaScript là một thực thể có tên xác định và có [thuộc tính](/w/index.php?title=Thu%E1%BB%99c_t%C3%ADnh&action=edit&redlink=1) trỏ đến giá trị, hàm hoặc cũng có thể là một đối tượng khác. Có nghĩa là, đối tượng trong JavaScript là một [mảng kết hợp](/w/index.php?title=M%E1%BA%A3ng_k%E1%BA%BFt_h%E1%BB%A3p&action=edit&redlink=1) ( *associative array*) tương tự như mảng trong [PHP](/wiki/PHP) hay [từ điển](/wiki/T%E1%BB%AB_%C4%91i%E1%BB%83n) trong [Python](/wiki/Python), [PostScript](/w/index.php?title=PostScript&action=edit&redlink=1) hoặc [Smalltalk](/wiki/Smalltalk).
JavaScript có một số đối tượng định nghĩa sẵn, bao gồm mảng (
`Array`), boolean ( `Boolean`), ngày tháng ( `Date`), hàm ( `Function`), [toán học](/wiki/To%C3%A1n_h%E1%BB%8Dc) ( `Math`), [số](/wiki/S%E1%BB%91) ( `Number`), đối tượng ( `Object`), [biểu thức tìm kiếm](/wiki/Bi%E1%BB%83u_th%E1%BB%A9c_ch%C3%ADnh_quy) ( `RegExp`), [chuỗi](/w/index.php?title=Chu%E1%BB%97i&action=edit&redlink=1) ( `String`). Các đối tượng khác là đối tượng dùng để truy cập và điều khiển các khía cạnh của trình duyệt, bao gồm window, history, navigator, location, screen, document, form,..
Bằng cách định nghĩa
[hàm khởi tạo](/w/index.php?title=H%C3%A0m_kh%E1%BB%9Fi_t%E1%BA%A1o&action=edit&redlink=1), lập trình viên có thể tạo đối tượng. JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu do đó thừa kế diễn ra giữa các đối tượng, không phải giữa các [lớp](/wiki/L%E1%BB%9Bp_(khoa_h%E1%BB%8Dc_m%C3%A1y_t%C3%ADnh)) (JavaScript không hề có lớp). Đối tượng thừa kế thuộc tính từ các nguyên mẫu của chúng.
Lập trình viên có thể thêm hoặc xóa thuộc tính hoặc hàm trong đối tượng sau khi đối tượng đã được tạo. Để làm việc này cho tất cả các đối tượng được tạo từ cùng một hàm khởi tạo, lập trình viên có thể sử dụng thuộc tính
`prototype` của hàm khởi tạo để truy cập đối tượng nguyên mẫu. Lập trình viên không nhất thiết phải tự xóa các đối tượng đã tạo, JavaScript tự động [gom rác](/w/index.php?title=Gom_r%C3%A1c&action=edit&redlink=1) tất cả những biến không còn được dùng nữa.
Ví dụ:
function samplePrototype() { this.attribute1 = "someValue"; // thêm một thuộc tính cho đối tượng this.attribute2 = 234; // thêm thuộc tính nữa cho đối tượng this.function1 = testFunction; // thêm một hàm vào đối tượng } function testFunction() { alert(this.attribute2); //hiển thị 234 } var sampleObject = new samplePrototype; // khởi tạo một đối tượng sampleObject.function1(); // gọi hàm function1 của đối tượng sampleObject sampleObject.attribute3 = 123; // thêm một thuộc tính nữa cho đối tượng sampleObject delete sampleObject.attribute1; // xóa bỏ 1 thuộc tính delete sampleObject; // xóa bỏ đối tượng
### Quản lý lỗi[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=24) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=24)]
Tùy theo
[môi trường phát triển](/w/index.php?title=M%C3%B4i_tr%C6%B0%E1%BB%9Dng_ph%C3%A1t_tri%E1%BB%83n&action=edit&redlink=1), sửa lỗi JavaScript có thể sẽ rất khó khăn. Với JavaScript dùng trên trang web, hiện tại, các trình duyệt dựa trên [Gecko](/w/index.php?title=Gecko&action=edit&redlink=1) (như Mozilla, [Mozilla Firefox](/wiki/Mozilla_Firefox)) có công cụ [tìm diệt lỗi](/w/index.php?title=T%C3%ACm_di%E1%BB%87t_l%E1%BB%97i&action=edit&redlink=1) rất tốt ( [Venkman](/wiki/Venkman)), ngoài ra còn kèm theo một công cụ kiểm tra DOM.
Các phiên bản mới hơn của JavaScript (như bản dùng trên Internet Explorer 5 và Netscape 6) hỗ trợ mệnh đề
[quản lý lỗi](/w/index.php?title=Qu%E1%BA%A3n_l%C3%BD_l%E1%BB%97i&action=edit&redlink=1) `try... catch... finally`, mệnh đề này bắt nguồn từ Java giúp lập trình viên quản lý [lỗi thời gian chạy](/w/index.php?title=L%E1%BB%97i_th%E1%BB%9Di_gian_ch%E1%BA%A1y&action=edit&redlink=1) hoặc quản lý [ngoại lệ](/w/index.php?title=Ngo%E1%BA%A1i_l%E1%BB%87&action=edit&redlink=1) xuất phát từ [cú pháp throw](/w/index.php?title=C%C3%BA_ph%C3%A1p_throw&action=edit&redlink=1). Cú pháp của mệnh đề này như sau:
try { Khối lệnh cần thực hiện có thể gây lỗi; } catch (error) { Khối lệnh cần thực hiện trong trường hợp có lỗi; } finally { Khối lệnh luôn được thực hiện; }
Trong cú pháp trên error là một đối tượng
`Error` có hai thuộc tính theo chuẩn ECMAScript phiên bản 3: `error["message"]`: Thông điệp diễn giải lỗi `error["name"]`: Tên lỗi
Tuy nhiên mỗi trình duyệt sử dụng một bản JavaScript khác nhau, trong các trình duyệt lớn và phổ dụng không có trình duyệt nào hoàn toàn tuân thủ theo chuẩn ECMAScript phiên bản 3. Ví dụ như Internet Explorer 6 SP 1 có thêm hai thuộc tính:
`error["number"]`: Bí số của lỗi `error["description"]`: Thông điệp diễn giải lỗi
Còn Mozilla Firefox 1.07 có thêm ba thuộc tính:
`error["fileName"]`: Tên tập tin xảy ra lỗi `error["lineNumber"]`: Dòng xảy ra lỗi `error["stack"]`: Cả hai thuộc tính trên gộp lại trong một chuỗi ký tự
Phần
`finally` là không bắt buộc. Lập trình viên hoàn toàn có thể sử dụng `try... catch` mà không có `finally`.
#### Phạm vi ảnh hưởng của lỗi[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=25) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=25)]
Các
[ngôn ngữ lập trình kịch bản](/wiki/Ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh_k%E1%BB%8Bch_b%E1%BA%A3n) rất dễ bị ảnh hưởng bởi lỗi, hơn nữa, mỗi một trình duyệt, mỗi một [công ty](/wiki/C%C3%B4ng_ty) ứng dụng JavaScript một cách hoàn toàn khác nhau nên lập trình viên JavaScript thường phải dành rất nhiều thời gian sửa lỗi để đảm bảo đoạn mã nguồn của mình sẽ hoạt động tốt. Trong những trang HTML mà thẻ `script` và các đoạn mã HTML khác xen kẽ lẫn nhau, lỗi cú pháp có thể được phát hiện dễ dàng hơn bằng cách để mỗi hàm trong một thẻ `script` riêng biệt hoặc có thể sử dụng nhiều tệp.js khác nhau. Trong nhiều trường hợp, cách này còn giúp tránh làm hỏng cả trang web trong trường hợp có lỗi trong một đoạn mã nguồn.
## Các ngôn ngữ dựa trên JavaScript[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=26) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=26)]
Ngôn ngữ kịch bản dùng trong
[Macromedia Flash](/wiki/Adobe_Flash) - [ActionScript](/wiki/ActionScript) có cú pháp gần giống với JavaScript, tuy nhiên mô hình đối tượng của ActionScript khác hẳn so với JavaScript.
JSON (JavaScript Object Notation) là một định dạng chia sẻ
[dữ liệu](/wiki/D%E1%BB%AF_li%E1%BB%87u) đa mục đích. [JavaScript OSA](/w/index.php?title=JavaScript_OSA&action=edit&redlink=1) ( [JavaScript cho OSA](/w/index.php?title=JavaScript_cho_OSA&action=edit&redlink=1), hay [JSOSA](/w/index.php?title=JSOSA&action=edit&redlink=1)) là một ngôn ngữ kịch bản dựa trên bản JavaScript [SpiderMonkey](/w/index.php?title=SpiderMonkey&action=edit&redlink=1) trong trình duyệt Mozilla 1.5 dùng cho máy tính [Macintosh](/wiki/Macintosh). Đây là một phần mềm miễn phí phát hành bởi [Late Night Software](/w/index.php?title=Late_Night_Software&action=edit&redlink=1). Tương tác với hệ điều hành và các chương trình khác được thực hiện thông qua đối tượng MacOS. Ngoài những khác biệt trên, JavaScript OSA giống hệt bản JavaScript SpiderMonkey. Ngôn ngữ này được thêm vào hệ điều hành Mac OS để cung cấp thêm lựa chọn cho lập trình viên ngoài [AppleScript](/w/index.php?title=AppleScript&action=edit&redlink=1).
Trước kia, ECMAScript cũng được sử dụng trong chuẩn
[VRML97](/w/index.php?title=VRML97&action=edit&redlink=1) dùng trong dựng cảnh [VRML](/w/index.php?title=VRML&action=edit&redlink=1).
## Ví dụ[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=27) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=27)]
### Chào thế giới[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=28) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=28)]
Đoạn mã sau hiện ra cửa sổ thông báo với dòng chữ "Chào thế giới".
alert("Chào thế giới");
### Các thư viện Javascript[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=29) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=29)]
- Bộ khung
[Prototype](/wiki/Prototype_(c%C3%B4ng_ty))kết hợp với thư viện [scriptaculous](/w/index.php?title=Scriptaculous&action=edit&redlink=1).
- Thư viện
[jQuery](/wiki/JQuery).
## Xem thêm[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=30) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=30)]
## Tham khảo[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=31) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=31)] [^](#cite_ref-FOOTNOTEFlanagan20111.E2.80.932_1-0) [Flanagan 2011](#CITEREFFlanagan2011), tr. 1–2
- Nigel McFarlane:
*Rapid Application Development with Mozilla*, Prentice Hall Professional Technical References, [ISBN 0-13-142343-6](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0131423436)
- David Flanagan, Paula Ferguson:
*JavaScript: The Definitive Guide*, O'Reilly & Associates, [ISBN 0-596-00048-0](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0596000480)
- Danny Goodman, Scott Markel:
*JavaScript and DHTML Cookbook*, O'Reilly & Associates, [ISBN 0-596-00467-2](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0596004672)
- Danny Goodman, Brendan Eich:
*JavaScript Bible*, Wiley, John & Sons, [ISBN 0-7645-3342-8](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0764533428)
- Andrew H. Watt, Jinjer L. Simon, Jonathan Watt:
*Teach Yourself JavaScript in 21 Days*, Pearson Education, [ISBN 0-672-32297-8](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0672322978)
- Thomas A. Powell, Fritz Schneider:
*JavaScript: The Complete Reference*, McGraw-Hill Companies, [ISBN 0-07-219127-9](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0072191279)
- Scott Duffy:
*How to do Everything with JavaScript*, Osborne, [ISBN 0-07-222887-3](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0072228873)
- Andy Harris, Andrew Harris:
*JavaScript Programming*, Premier Press, [ISBN 0-7615-3410-5](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0761534105)
- Joe Burns, Andree S. Growney, Andree Growney:
*JavaScript Goodies*, Pearson Education, [ISBN 0-7897-2612-2](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0789726122)
- Gary B. Shelly, Thomas J. Cashman, William J. Dorin, Jeffrey Quasney:
*JavaScript: Complete Concepts and Techniques*, Course Technology, [ISBN 0-7895-6233-2](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/0789562332)
- Nick Heinle, Richard Koman:
*Designing with JavaScript*, O'Reilly & Associates, [ISBN 1-56592-300-6](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/1565923006)
- Sham Bhangal, Tomasz Jankowski:
*Foundation Web Design: Essential HTML, JavaScript, CSS, PhotoShop, Fireworks, and Flash*, APress L. P., [ISBN 1-59059-152-6](/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ngu%E1%BB%93n_s%C3%A1ch/1590591526)
## Liên kết ngoài[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=32) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=32)]
|
|![]()
|
|
### Tài liệu[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=33) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=33)]
### Cơ bản[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=34) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=34)]
### Ví dụ[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=35) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=35)] [TiddlyWiki](http://www.tiddlywiki.com)một [wiki](/wiki/Wiki)bằng Javascript. [TiddlyMath](http://math.chapman.edu/~jipsen/tiddly/tiddlymath.html)một [TiddlyWiki](/w/index.php?title=TiddlyWiki&action=edit&redlink=1)hỗ trợ viết công thức toán (dùng [MathML](/wiki/MathML)) và vẽ đồ thị đơn giản (hiển hình ảnh [SVG](/wiki/SVG)). [Vẽ đồ thị hàm số bằng Javascript](http://www.walterzorn.com/grapher/grapher_e.htm). Chạy trên hầu hết các [trình duyệt](/wiki/Tr%C3%ACnh_duy%E1%BB%87t_web)hiện đại.
### Mã nguồn sử dụng nhanh (Copy & Paste)[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=36) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=36)] [JavaScriptBank.com](http://www.javascriptbank.com) **(tiếng Anh)**& **(tiếng Việt)** [DynamicDrive.com](http://dynamicdrive.com) **(tiếng Anh)** [JavascriptKit.com](http://javascriptkit.com) **(tiếng Anh)**
### Thư viện[
[sửa](/w/index.php?title=JavaScript&veaction=edit&vesection=37) | [sửa mã nguồn](/w/index.php?title=JavaScript&action=edit§ion=37)]
|
|

X-Cache: cp1065 hit(2), cp1052 frontend miss(0)


markdown:
*Lixus angustatus*
Bách khoa toàn thư mở Wikipedia
|
|Lixus angustatus
|
|![]()
[Phân loại khoa học](/wiki/Ph%C3%A2n_lo%E1%BA%A1i_sinh_h%E1%BB%8Dc) [Giới](/wiki/Gi%E1%BB%9Bi_(sinh_h%E1%BB%8Dc))( *regnum*) [Animalia](/wiki/%C4%90%E1%BB%99ng_v%E1%BA%ADt) [Ngành](/wiki/Ng%C3%A0nh_(sinh_h%E1%BB%8Dc))( *phylum*) [Arthropoda](/wiki/%C4%90%E1%BB%99ng_v%E1%BA%ADt_Ch%C3%A2n_kh%E1%BB%9Bp) [Lớp](/wiki/L%E1%BB%9Bp_(sinh_h%E1%BB%8Dc))( *class*) [Insecta](/wiki/C%C3%B4n_tr%C3%B9ng) [Bộ](/wiki/B%E1%BB%99_(sinh_h%E1%BB%8Dc))( *ordo*) [Coleoptera](/wiki/B%E1%BB%8D_c%C3%A1nh_c%E1%BB%A9ng) [Họ](/wiki/H%E1%BB%8D_(sinh_h%E1%BB%8Dc))( *familia*) [Curculionidae](/wiki/Curculionidae) [Chi](/wiki/Chi_(sinh_h%E1%BB%8Dc))( *genus*) [Lixus](/w/index.php?title=Lixus_(b%E1%BB%8D_c%C3%A1nh_c%E1%BB%A9ng)&action=edit&redlink=1) [Loài](/wiki/Lo%C3%A0i)( *species*) **L. angustatus** [Danh pháp hai phần](/wiki/Danh_ph%C3%A1p_hai_ph%E1%BA%A7n) *Lixus angustatus* [Fabricius](/w/index.php?title=Johan_Christian_Fabricius&action=edit&redlink=1), [1775](/wiki/1775) [[1]](#cite_note-1) * là một loài côn trùng sinh sống ở Lixus angustatus* [châu Âu](/wiki/Ch%C3%A2u_%C3%82u)(bao gồm [bán đảo Ilberia](/w/index.php?title=B%C3%A1n_%C4%91%E1%BA%A3o_Ilberia&action=edit&redlink=1)) và lưu vực [Địa Trung Hải](/wiki/%C4%90%E1%BB%8Ba_Trung_H%E1%BA%A3i). [[2]](#cite_note-2) [[3]](#cite_note-3) [Hastings Country Park](/w/index.php?title=Hastings_Country_Park&action=edit&redlink=1) đã có ghi chép cuối cùng của Anh về loài này và ngày nay chúng được xem là không còn hiện diện ở [Đại Anh](/wiki/%C4%90%E1%BA%A1i_Anh).
## Hình ảnh[
[sửa](/w/index.php?title=Lixus_angustatus&veaction=edit&vesection=1) | [sửa mã nguồn](/w/index.php?title=Lixus_angustatus&action=edit§ion=1)]
## Chú thích[
[sửa](/w/index.php?title=Lixus_angustatus&veaction=edit&vesection=2) | [sửa mã nguồn](/w/index.php?title=Lixus_angustatus&action=edit§ion=2)] **Systema entomologiae, sistens insectorum classes, ordines, genera, species, adjectis synonymis, locis, descriptionibus, observationibus. Libraria Kortii, Flensburgi et Lipsiae. 832 pages (1775)** [^](#cite_ref-1) [^](#cite_ref-2) *Lixus angustatus*tháng 6 2009 [^](#cite_ref-3) [Illustrated Up-to-date Catalogue of the Curculionoidea-Động vật Cyprus](http://www.curci.de/illustrated_catalogue/curculionoidea-fauna_of_cyprus/catalog.php?PID=3&action=fulltext&search=)
## Tham khảo[
[sửa](/w/index.php?title=Lixus_angustatus&veaction=edit&vesection=3) | [sửa mã nguồn](/w/index.php?title=Lixus_angustatus&action=edit§ion=3)]
Dữ liệu liên quan tới
[Lixus angustatus](//species.wikimedia.org/wiki/Special:Search/Lixus_angustatus)tại [Wikispecies](/wiki/Wikispecies)
Phương tiện liên quan tới
[Lixus angustatus](//commons.wikimedia.org/wiki/Category:Lixus_angustatus)tại [Wikimedia Commons](/wiki/Wikimedia_Commons)

WARC-Type: response

Content-Type: application/http; msgtype=response

Set-Cookie: GeoIP=US:VA:Ashburn:39.02:-77.54:v4; Path=/; secure; Domain=.wikipedia.org

Connection: close

X-Content-Type-Options: nosniff

Cache-Control: private, s-maxage=0, max-age=0, must-revalidate

P3P: CP="This is not a P3P policy! See https://vi.wikipedia.org/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:CentralAutoLogin/P3P for more info."

Via: 1.1 varnish, 1.1 varnish

Content-Language: vi

X-UA-Compatible: IE=Edge

X-Cache: cp1068 miss(0), cp1052 frontend miss(0)

Vary: Accept-Encoding,Cookie,Authorization

Accept-Ranges: bytes

Content-Type: text/html; charset=UTF-8


markdown:
# Ran Raz
**Ran Raz** ( [tiếng Hebrew](/wiki/Ti%E1%BA%BFng_Hebrew): רָן רָז) là nhà [khoa học máy tính](/wiki/Khoa_h%E1%BB%8Dc_m%C3%A1y_t%C3%ADnh) người [Israel](/wiki/Israel) chuyên về lý thuyết [độ phức tạp thuật toán](/wiki/%C4%90%E1%BB%99_ph%E1%BB%A9c_t%E1%BA%A1p_thu%E1%BA%ADt_to%C3%A1n).
## Cuộc đời và Sự nghiệp[
[sửa](/w/index.php?title=Ran_Raz&veaction=edit&vesection=1) | [sửa mã nguồn](/w/index.php?title=Ran_Raz&action=edit§ion=1)]
Ông là giáo sư ở Phân khoa
[toán học](/wiki/To%C3%A1n_h%E1%BB%8Dc) và [khoa học máy tính](/wiki/Khoa_h%E1%BB%8Dc_m%C3%A1y_t%C3%ADnh) của [Học viện Khoa học Weizmann](/w/index.php?title=H%E1%BB%8Dc_vi%E1%BB%87n_Khoa_h%E1%BB%8Dc_Weizmann&action=edit&redlink=1) tại [Rehovet](/w/index.php?title=Rehovet&action=edit&redlink=1), [Israel](/wiki/Israel).
Ran Raz nổi tiếng về công trình nghiên cứu các
[hệ chứng minh tương tác](/w/index.php?title=H%E1%BB%87_ch%E1%BB%A9ng_minh_t%C6%B0%C6%A1ng_t%C3%A1c&action=edit&redlink=1) ( *interactive proof system*). Các bài khảo cứu được trích dẫn nhiều nhất của ông là [Raz (1998)](#CITEREFRaz1998) về các [hệ chứng minh tương tác](/w/index.php?title=H%E1%BB%87_ch%E1%BB%A9ng_minh_t%C6%B0%C6%A1ng_t%C3%A1c&action=edit&redlink=1) và [Raz & Safra (1997)](#CITEREFRazSafra1997) về các [probabilistically checkable proof](/w/index.php?title=Probabilistically_checkable_proof&action=edit&redlink=1). [[1]](#cite_note-1)
## Giải thưởng[
[sửa](/w/index.php?title=Ran_Raz&veaction=edit&vesection=2) | [sửa mã nguồn](/w/index.php?title=Ran_Raz&action=edit§ion=2)]
Ran Raz được thưởng
[Giải Erdős](/wiki/Gi%E1%BA%A3i_Erd%C5%91s) năm 2002.
Công trình của ông đã được tưởng thưởng ở các hội nghị hàng đầu về
[tin học lý thuyết](/wiki/Tin_h%E1%BB%8Dc_l%C3%BD_thuy%E1%BA%BFt). Năm 2004, [Raz (2004)](#CITEREFRaz2004), của ông được giải thưởng bài khảo cứu xuất sắc nhất ở [2] [Hội nghị chuyên đề về lý thuyết tính toán](/w/index.php?title=H%E1%BB%99i_ngh%E1%BB%8B_chuy%C3%AAn_%C4%91%E1%BB%81_v%E1%BB%81_l%C3%BD_thuy%E1%BA%BFt_t%C3%ADnh_to%C3%A1n&action=edit&redlink=1)( *Symposium on Theory of Computing*) của [Association for Computing Machinery](/w/index.php?title=Association_for_Computing_Machinery&action=edit&redlink=1)và [Raz & Shpilka (2004)](#CITEREFRazShpilka2004). của ông được giải thưởng bài khảo cứu xuất sắc nhất ở [[3]](#cite_note-3) [Hội nghị về độ phức tạp thuật toán](/w/index.php?title=H%E1%BB%99i_ngh%E1%BB%8B_v%E1%BB%81_%C4%91%E1%BB%99_ph%E1%BB%A9c_t%E1%BA%A1p_thu%E1%BA%ADt_to%C3%A1n&action=edit&redlink=1)( *Conference on Computational Complexity*)của [IEEE](/wiki/IEEE). Năm 2008, tác phẩm [Moshkovitz & Raz (2008)](#CITEREFMoshkovitzRaz2008)đoạt giải thưởng bài khảo cứu xuất sắc nhất ở [Hội nghị chuyên đề về thành lập Khoa học máy tính](/w/index.php?title=H%E1%BB%99i_ngh%E1%BB%8B_chuy%C3%AAn_%C4%91%E1%BB%81_v%E1%BB%81_th%C3%A0nh_l%E1%BA%ADp_Khoa_h%E1%BB%8Dc_m%C3%A1y_t%C3%ADnh&action=edit&redlink=1)( *Symposium on Foundations of Computer Science*) của [IEEE](/wiki/IEEE). [[4]](#cite_note-4)
## Tác phẩm chọn lọc[
[sửa](/w/index.php?title=Ran_Raz&veaction=edit&vesection=3) | [sửa mã nguồn](/w/index.php?title=Ran_Raz&action=edit§ion=3)]
- Raz, Ran; Safra, Shmuel (1997), “A sub-constant error-probability low-degree test, and a sub-constant error-probability PCP characterization of NP”,
*Proc.*, tr. 475–484, [STOC](/w/index.php?title=Symposium_on_Theory_of_Computing&action=edit&redlink=1)1997 [doi](/wiki/DOI): [10.1145/258533.258641](//dx.doi.org/10.1145%2F258533.258641).
- Raz, Ran (1998), “A parallel repetition theorem”,
[SIAM Journal on Computing](/w/index.php?title=SIAM_Journal_on_Computing&action=edit&redlink=1) **27**(3): 763–803, [doi](/wiki/DOI): [10.1137/S0097539795280895](//dx.doi.org/10.1137%2FS0097539795280895).
- Raz, Ran (2004), “Multi-linear formulas for permanent and determinant are of super-polynomial size”,
*Proc.*, tr. 633–641, [STOC](/w/index.php?title=Symposium_on_Theory_of_Computing&action=edit&redlink=1)2004 [doi](/wiki/DOI): [10.1145/1007352.1007353](//dx.doi.org/10.1145%2F1007352.1007353).
- Raz, Ran; Shpilka, Amir (2004), “Deterministic polynomial identity testing in non commutative models”,
*Proc.*, tr. 215–222, [CCC](/w/index.php?title=Conference_on_Computational_Complexity&action=edit&redlink=1)2004 [doi](/wiki/DOI): [10.1109/CCC.2004.1313845](//dx.doi.org/10.1109%2FCCC.2004.1313845).
- Moshkovitz, Dana; Raz, Ran (2008), “Two query PCP with sub-constant error”,
*Proc.*, tr. 314–323, [FOCS](/w/index.php?title=Symposium_on_Foundations_of_Computer_Science&action=edit&redlink=1)2008 [doi](/wiki/DOI): [10.1109/FOCS.2008.60](//dx.doi.org/10.1109%2FFOCS.2008.60).
## Tham khảo[
[sửa](/w/index.php?title=Ran_Raz&veaction=edit&vesection=4) | [sửa mã nguồn](/w/index.php?title=Ran_Raz&action=edit§ion=4)] **Citations counts for** [^](#cite_ref-1) [Raz (1998)](#CITEREFRaz1998)as of 21 Feb 2009: Google Scholar: [313](http://scholar.google.com/scholar?cites=10807229652058907596), ISI Web of Knowledge: 120, ACM Digital Library: [57](http://portal.acm.org/citation.cfm?id=284995.285007)+ [17](http://portal.acm.org/citation.cfm?id=225058.225181), MathSciNet: [53](http://www.ams.org/mathscinet-getitem?mr=1612640). Citations counts for [Raz & Safra (1997)](#CITEREFRazSafra1997)as of 21 Feb 2009: Google Scholar: [314](http://scholar.google.com/scholar?cites=16406540695585643205), ACM Digital Library: [71](http://portal.acm.org/citation.cfm?id=258533.258641), MathSciNet: [59](http://www.ams.org/mathscinet-getitem?mr=1715654). **Proc. STOC 2004: "STOC 2004 Conference Awards", page x.** [^](#cite_ref-2) [[1]](http://portal.acm.org/toc.cfm?id=1007352). One of two award papers. **Proc. CCC 2004: "Awards", page x.** [^](#cite_ref-3) [[2]](http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=29139&isYear=2004). **Proc. FOCS 2008: "Foreword", page xii.** [^](#cite_ref-4) [[3]](http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=4690924&isYear=2008).

X-Cache: cp1052 miss(0), cp1052 frontend miss(0)


markdown:
# Thể loại:Mất 1603
Bách khoa toàn thư mở Wikipedia
|
|[1600](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1600)– [1601](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1601)– [1602](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1602)– **1603**– [1604](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1604) [1605](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1605)– [1606](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1606)– [1607](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1607)– [1608](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1608)– [1609](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1609)
Thể loại này liệt kê những
**người qua đời năm 1603**. Xem thêm [những người sinh năm 1603](/wiki/Th%E1%BB%83_lo%E1%BA%A1i:Sinh_1603). **Về đầu trang** [A](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=A) [B](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=B) [C](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=C) [D](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=D) [E](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=E) [F](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=F) [G](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=G) [H](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=H) [I](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=I) [J](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=J) [K](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=K) [L](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=L) [M](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=M) [N](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=N) [O](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=O) [P](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=P) [Q](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=Q) [R](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=R) [S](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=S) [T](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=T) [U](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=U) [V](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=V) [W](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=W) [X](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=X) [Y](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=Y) [Z](//vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:M%E1%BA%A5t_1603&from=Z)
|
|![]()
|Wikimedia Commons có thêm thư viện hình ảnh và phương tiện truyền tải về
|
## Các trang trong thể loại “Mất 1603”
6 trang sau nằm trong thể loại này, trên tổng số 6 trang.

X-Cache: cp1066 miss(0), cp1052 frontend miss(0)


markdown:
# Tiên đề
|Bài viết này
|cần thêm .
Một
**tiên đề** trong [toán học](/wiki/To%C3%A1n_h%E1%BB%8Dc) là một [đề xuất](/w/index.php?title=%C4%90%E1%BB%81_xu%E1%BA%A5t&action=edit&redlink=1) được coi như luôn [đúng](/wiki/%C4%90%C3%BAng) mà không thể và không cần [chứng minh](/w/index.php?title=Ch%E1%BB%A9ng_minh&action=edit&redlink=1).
Một
**hệ thống tiên đề** hay gọn hơn **hệ tiên đề** là một [tập hữu hạn](/wiki/T%E1%BA%ADp_h%E1%BB%A3p#L.E1.BB.B1c_l.C6.B0.E1.BB.A3ng_c.E1.BB.A7a_t.E1.BA.ADp_h.E1.BB.A3p_-_H.E1.BB.AFu_h.E1.BA.A1n_v.C3.A0_v.C3.B4_h.E1.BA.A1n) các tiên đề thoả mãn điều kiện là các suy diễn logic trên hệ thống tiên đề này không thể xảy ra mâu thuẫn.
## Mục lục
## Sự cần thiết của tiên đề[
[sửa](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&veaction=edit&vesection=1) | [sửa mã nguồn](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&action=edit§ion=1)]
Tiên đề là điều kiện cần thiết để xây dựng bất cứ một
[lý thuyết](/wiki/L%C3%BD_thuy%E1%BA%BFt) nào. Bất cứ một [khẳng định](/w/index.php?title=Kh%E1%BA%B3ng_%C4%91%E1%BB%8Bnh&action=edit&redlink=1) (hay [đề xuất](/w/index.php?title=%C4%90%E1%BB%81_xu%E1%BA%A5t&action=edit&redlink=1)) nào đưa ra đều cần được giải thích hay [xác minh](/w/index.php?title=X%C3%A1c_minh&action=edit&redlink=1) bằng một khẳng định khác. Và vì nếu một khẳng định được giải thích hay xác minh bằng chính nó thì khẳng định đó sẽ không có giá trị, nên cần có một số [vô hạn](/wiki/V%C3%B4_t%E1%BA%ADn) các khẳng định để giải thích bất kì một khẳng định nào. Vì thế cần phải có một (hay một số) khẳng định được công nhận là đúng để làm chỗ bắt đầu và đưa quá trình suy diễn từ vô hạn về [hữu hạn](/w/index.php?title=H%E1%BB%AFu_h%E1%BA%A1n&action=edit&redlink=1). Tương tự như vậy, bất cứ sự [suy luận](/wiki/L%E1%BA%ADp_lu%E1%BA%ADn) hay [giao tiếp](/wiki/Giao_ti%E1%BA%BFp) nào của con người cũng cần có điểm xuất phát chung. Tiên đề thuộc vào nhóm những yếu tố đầu tiên này. Một số yếu tố khác là: [định nghĩa](/wiki/%C4%90%E1%BB%8Bnh_ngh%C4%A9a), [quan hệ](/wiki/Quan_h%E1%BB%87_(to%C3%A1n_h%E1%BB%8Dc)), v.v.
- Lưu ý:
[Euclid](/wiki/Euclid)nhận thấy sự cần thiết này khi xây dựng hình học của mình, do đó ông đưa ra hệ thống tiên đề đầu tiên trong lịch sử: hệ tiên đề Euclid. Trong bộ "Cơ bản" của mình, ông nêu ra 23 [định nghĩa](/wiki/%C4%90%E1%BB%8Bnh_ngh%C4%A9a), 5 **tiên đề**và 5 [định đề](/wiki/%C4%90%E1%BB%8Bnh_%C4%91%E1%BB%81). Sau này người ta thống nhất chung một tên gọi là tiên đề.
- Tiên đề cũng được sử dụng trong các ngành khoa học khác như:
[vật lý](/wiki/V%E1%BA%ADt_l%C3%BD_h%E1%BB%8Dc), [hoá học](/wiki/H%C3%B3a_h%E1%BB%8Dc), [ngôn ngữ học](/wiki/Ng%C3%B4n_ng%E1%BB%AF_h%E1%BB%8Dc), v.v.
## Tiên đề trong toán học[
[sửa](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&veaction=edit&vesection=2) | [sửa mã nguồn](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&action=edit§ion=2)]
Nổi tiếng nhất là tiên đề V của Euclide. Nội dung của tiên đề này là: Nếu hai
[đường thẳng](/wiki/%C4%90%C6%B0%E1%BB%9Dng_th%E1%BA%B3ng) tạo với một đường thẳng thứ ba hai góc trong cùng phía có tổng nhỏ hơn 180 o thì chúng sẽ cắt nhau về phía đó.
## Tiên đề trong vật lý[
[sửa](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&veaction=edit&vesection=3) | [sửa mã nguồn](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&action=edit§ion=3)]
## Xem thêm[
[sửa](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&veaction=edit&vesection=4) | [sửa mã nguồn](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&action=edit§ion=4)]
## Tham khảo[
[sửa](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&veaction=edit&vesection=5) | [sửa mã nguồn](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&action=edit§ion=5)]
## Liên kết ngoài[
[sửa](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&veaction=edit&vesection=6) | [sửa mã nguồn](/w/index.php?title=Ti%C3%AAn_%C4%91%E1%BB%81&action=edit§ion=6)]
|Các chủ đề chính trong
|


markdown:
# прощать
Từ điển mở Wiktionary
## Tiếng Nga[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-rus-&action=edit§ion=T-1)]
### Chuyển tự[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-translit-&action=edit§ion=T-1)]
Xem
[Wiktionary:Phiên âm của tiếng Nga](/wiki/Wiktionary:Phi%C3%AAn_%C3%A2m_c%E1%BB%A7a_ti%E1%BA%BFng_Nga).
### Động từ[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-verb-&action=edit§ion=T-1)] **прощ ать** *Thể chưa hoàn thành*( *Hoàn thành*: [прост](/wiki/%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%B8%D1%82%D1%8C)) __и__ть
### Tham khảo[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-ref-&action=edit§ion=T-1)]
- Hồ Ngọc Đức,
[Dự án Từ điển tiếng Việt miễn phí](http://www.informatik.uni-leipzig.de/~duc/Dict/)( [chi tiết](/wiki/Wiktionary:Ngu%E1%BB%93n_g%E1%BB%91c/FVDP))

Set-Cookie: GeoIP=US:VA:Ashburn:39.02:-77.54:v4; Path=/; secure; Domain=.wiktionary.org

P3P: CP="This is not a P3P policy! See https://vi.wiktionary.org/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:CentralAutoLogin/P3P for more info."

X-Cache: cp1065 hit(1), cp1067 frontend miss(0)


markdown:
# hầu
Từ điển mở Wiktionary
## Mục lục
## Tiếng Việt[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-vie-&action=edit§ion=T-1)]
### Cách phát âm[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-pron-&action=edit§ion=T-1)]
|
|[Huế](/wiki/Hu%E1%BA%BF) [Sài Gòn](/wiki/S%C3%A0i_G%C3%B2n) [Vinh](/wiki/Vinh) [Thanh Chương](/wiki/Thanh_Ch%C6%B0%C6%A1ng) [Hà Tĩnh](/wiki/H%C3%A0_T%C4%A9nh)
[Phiên âm Hán–Việt](//vi.wikipedia.org/wiki/Phi%C3%AAn_%C3%A2m_H%C3%A1n-Vi%E1%BB%87t)[ [sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-hanviet-&action=edit§ion=T-1)]
Các chữ Hán có phiên âm thành “hầu”
### Chữ Nôm[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-n%C3%B4m-&action=edit§ion=T-1)]
(
[trợ giúp hiển thị và nhập chữ Nôm](/wiki/Tr%E1%BB%A3_gi%C3%BAp:Ch%E1%BB%AF_N%C3%B4m))
Cách viết từ này trong chữ Nôm
### Từ tương tự[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-paro-&action=edit§ion=T-1)]
### Danh từ[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-noun-&action=edit§ion=T-1)] **hầu** [Phần](/wiki/ph%E1%BA%A7n) [ống](/wiki/%E1%BB%91ng) [tiêu hoá](/wiki/ti%C3%AAu_ho%C3%A1) [nằm](/wiki/n%E1%BA%B1m) [tiếp sau](/w/index.php?title=ti%E1%BA%BFp_sau&action=edit&redlink=1) [khoang](/wiki/khoang) [miệng](/wiki/mi%E1%BB%87ng)và trước [thực quản](/wiki/th%E1%BB%B1c_qu%E1%BA%A3n). *Bóp* **hầu**bóp họng.
-
[Con](/wiki/con) [khỉ](/wiki/kh%E1%BB%89). [Tước](/wiki/t%C6%B0%E1%BB%9Bc) [thứ hai](/wiki/th%E1%BB%A9_hai), sau [tước](/wiki/t%C6%B0%E1%BB%9Bc) [công](/wiki/c%C3%B4ng)trong [thang](/wiki/thang) [tước vị](/wiki/t%C6%B0%E1%BB%9Bc_v%E1%BB%8B)dưới [chế độ](/wiki/ch%E1%BA%BF_%C4%91%E1%BB%99) [phong kiến](/wiki/phong_ki%E1%BA%BFn). *Được phong tước* **hầu**.
-
[Người](/wiki/ng%C6%B0%E1%BB%9Di) [con gái](/wiki/con_g%C3%A1i) [đi](/wiki/%C4%91i)ở để [phục dịch](/wiki/ph%E1%BB%A5c_d%E1%BB%8Bch)trong [các](/wiki/c%C3%A1c) [nhà](/wiki/nh%C3%A0) [quyền quý](/wiki/quy%E1%BB%81n_qu%C3%BD) [thời](/wiki/th%E1%BB%9Di) [phong kiến](/wiki/phong_ki%E1%BA%BFn). *Con* **hầu**. *Nàng* **hầu**.
-
### Phó từ[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-adv-&action=edit§ion=T-1)] **hầu**
### Động từ[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-verb-&action=edit§ion=T-1)] **hầu** [Phục dịch](/wiki/ph%E1%BB%A5c_d%E1%BB%8Bch)cho [người](/wiki/ng%C6%B0%E1%BB%9Di) [bề trên](/wiki/b%E1%BB%81_tr%C3%AAn), cho [chủ](/wiki/ch%E1%BB%A7). *Kẻ* **hầu**người hạ. *Lính* **hầu**.
-
[Đến](/wiki/%C4%91%E1%BA%BFn) [trước mặt](/wiki/tr%C6%B0%E1%BB%9Bc_m%E1%BA%B7t)hoặc trước [toà](/wiki/to%C3%A0)để [nghe](/wiki/nghe) [phán bảo](/w/index.php?title=ph%C3%A1n_b%E1%BA%A3o&action=edit&redlink=1), [xét xử](/wiki/x%C3%A9t_x%E1%BB%AD). *Các hương mục vào* **hầu**quan lớn. *Bị gọi ra* **hầu**toà.
-
[Chịu](/wiki/ch%E1%BB%8Bu)làm một [việc gì](/wiki/vi%E1%BB%87c_g%C3%AC)cho [vui lòng](/wiki/vui_l%C3%B2ng) [người](/wiki/ng%C6%B0%E1%BB%9Di)khác. **Hầu**chuyện. *Xin* **hầu**cụ một ván bài.
-
[Mong](/wiki/mong) [thực hiện](/wiki/th%E1%BB%B1c_hi%E1%BB%87n) [được](/wiki/%C4%91%C6%B0%E1%BB%A3c) [điều](/wiki/%C4%91i%E1%BB%81u)gì đó, thường rất [khó](/wiki/kh%C3%B3). *Hắn cố gắng hết sức trong mọi công việc* **hầu**được chủ tin dùng . *Họ phải bằng mọi cách để thanh toán nợ cho khách hàng* **hầu**lấy lại lòng tin, sự tín nhiệm.
-
### Tham khảo[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-ref-&action=edit§ion=T-1)]
- Hồ Ngọc Đức,
[Dự án Từ điển tiếng Việt miễn phí](http://www.informatik.uni-leipzig.de/~duc/Dict/)( [chi tiết](/wiki/Wiktionary:Ngu%E1%BB%93n_g%E1%BB%91c/FVDP))
- Thông tin chữ Hán và chữ Nôm dựa theo cơ sở dữ liệu của phần mềm
[WinVNKey](http://winvnkey.sf.net), đóng góp bởi học giả Lê Sơn Thanh; đã được các tác giả đồng ý đưa vào đây. ( [chi tiết](/wiki/Wiktionary:Ngu%E1%BB%93n_g%E1%BB%91c/WinVNKey/L%C3%AA_S%C6%A1n_Thanh))

X-Cache: cp1055 miss(0), cp1067 frontend miss(0)


markdown:
lifelike
Từ điển mở Wiktionary
Bước tới:
dẫn lái
,
tìm
Mục lục
1
Tiếng Anh
1.1
Cách phát âm
1.2
Tính từ
1.3
Tham khảo
Tiếng Anh
[
sửa
]
Cách phát âm
[
sửa
]
IPA
:
/ˈlɑɪf.ˌlɑɪk/
Tính từ
[
sửa
]
lifelike
/ˈlɑɪf.ˌlɑɪk/
Giống như
thật
.
Tham khảo
[
sửa
]
Hồ Ngọc Đức,
Dự án Từ điển tiếng Việt miễn phí
(
chi tiết
)
Lấy từ “
https://vi.wiktionary.org/w/index.php?title=lifelike&oldid=1609849
”
Thể loại
:
Mục từ tiếng Anh
Tính từ
Tính từ tiếng Anh
Trình đơn chuyển hướng
Công cụ cá nhân
Chưa đăng nhập
Thảo luận
Đóng góp
Mở tài khoản
Đăng nhập
Không gian tên
Mục từ
Thảo luận
Biến thể
Các hiển thị
Tra
Sửa đổi
Xem lịch sử
Khác
Tìm kiếm
Chuyển hướng
Trang Chính
Cộng đồng
Thay đổi gần đây
Mục từ ngẫu nhiên
Trợ giúp
Thảo luận chung
Quyên góp
Chỉ mục
Ngôn ngữ
Chữ cái
Bộ thủ
Từ loại
Chuyên ngành
In/xuất ra
Tạo một quyển sách
Tải về dưới dạng PDF
Bản in được
Công cụ
Các liên kết đến đây
Thay đổi liên quan
Tải tập tin lên
Các trang đặc biệt
Liên kết thường trực
Thông tin trang
Trích dẫn trang này
Ngôn ngữ định nghĩa
ᏣᎳᎩ
English
Eesti
Magyar
Ido
Italiano
日本語
മലയാളം
Polski
தமிழ்
中文
Trang này được sửa đổi lần cuối lúc 23:38 ngày 29 tháng 8 năm 2015.
Văn bản được phát hành theo
Giấy phép Creative Commons Ghi công–Chia sẻ tương tự
; có thể áp dụng điều khoản bổ sung. Xem
Điều khoản Sử dụng
để biết thêm chi tiết.
Quy định quyền riêng tư
Giới thiệu Wiktionary
Lời phủ nhận
Nhà phát triển
Tuyên bố về cookie
Phiên bản di động

X-Cache: cp1054 miss(0), cp1067 frontend miss(0)


markdown:
# semaphores
Từ điển mở Wiktionary
## Tiếng Anh[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-eng-&action=edit§ion=T-1)]
### Động từ[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-verb-&action=edit§ion=T-1)] **semaphores** [Động từ](/wiki/%C4%91%E1%BB%99ng_t%E1%BB%AB) *chia ở* [semaphore](/wiki/semaphore) [ngôi thứ ba](/wiki/ng%C3%B4i_th%E1%BB%A9_ba) [số ít](/wiki/s%E1%BB%91_%C3%ADt).
#### Chia động từ[
[sửa](/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:-forms-&action=edit§ion=T-1)]
semaphore
- Cách chia động từ cổ.
- Thường nói
*will*; chỉ nói *shall*để nhấn mạnh. Ngày xưa, ở ngôi thứ nhất, thường nói *shall*và chỉ nói *will*để nhấn mạnh.

X-Cache: cp1066 miss(0), cp1067 frontend miss(0)


markdown:
### Tìm kiếm bài viết theo id
# 5giay - Mạng thương mại điện tử
###
[Tình hình diễn đàn](online/)
-
[litimi](members/litimi.101675473/),
-
[nhoxakapela](members/nhoxakapela.100555166/),
-
[Mạnh Sim Số](members/manh-sim-so.101667394/),
-
[ldkeoquan](members/ldkeoquan.100017650/),
-
[Pim21](members/pim21.100036454/),
-
[tpo289](members/tpo289.100522440/),
-
[shopbaothy](members/shopbaothy.100815249/),
-
[tongcongminh](members/tongcongminh.100982648/),
-
[khong bao gio quen](members/khong-bao-gio-quen.101707506/),
-
[nguyenhuyvt](members/nguyenhuyvt.101744901/),
-
[vietcuong_tt](members/vietcuong_tt.100188409/),
-
[5giaynhattao](members/5giaynhattao.101122947/),
-
[kzeschkeshaw](members/kzeschkeshaw.101377969/),
-
[Nguyễn Ngọc Đức](members/nguyen-ngoc-duc.101722244/),
-
[anroimember7979](members/anroimember7979.100842698/),
-
[ipad vip](members/ipad-vip.101577323/),
-
[MrTiQuan](members/mrtiquan.100585169/),
-
[Typhooneiji](members/typhooneiji.101286145/),
-
[prolaptop.vn](members/prolaptop-vn.100470897/),
-
[mrcool](members/mrcool.101707654/),
-
[NewStarHair](members/newstarhair.101716741/),
-
[aidaya](members/aidaya.100164773/),
-
[meoden18](members/meoden18.100147316/),
-
[HattoryNo1](members/hattoryno1.100050616/),
-
[vivian_vietnam](members/vivian_vietnam.101728835/),
-
[batman541989](members/batman541989.101744906/),
-
[khamphakts](members/khamphakts.101738500/),
-
[DÁN KEO XE TẬN NƠI](members/dan-keo-xe-tan-noi.101720845/),
-
[Schumacher](members/schumacher.100132412/),
-
[baucat30](members/baucat30.100139385/),
-
[p0p](members/p0p.100723530/),
-
[minhIT.berys](members/minhit-berys.101473628/),
-
[salonngotan7](members/salonngotan7.101263255/),
-
[hault](members/hault.20429/),
-
[hon_ke_o](members/hon_ke_o.100068987/),
-
[Lam Trường](members/lam-truong.100228171/),
-
[hipitutu](members/hipitutu.100738868/),
-
[Mr.Fu](members/mr-fu.100178668/),
-
[dieplong2000](members/dieplong2000.100984791/),
-
[Coconut](members/coconut.101665835/),
-
[taehuy](members/taehuy.101513980/),
-
[Củ Cải Store](members/cu-cai-store.101216039/),
-
[_FireFox_](members/_firefox_.101486402/),
-
[o0xthangx0o](members/o0xthangx0o.100041427/),
-
[casi_uht87](members/casi_uht87.100032914/),
-
[tiachop_z](members/tiachop_z.100714991/),
-
[thieubong1nguoi](members/thieubong1nguoi.100122592/),
-
[seabear_hn](members/seabear_hn.100856754/),
-
[nguyentacso11](members/nguyentacso11.100985361/),
-
[atony11](members/atony11.101645862/)
- ...
[and 541 more](online/)
Tổng: 2,532 (Thành viên: 621, Khách: 1,870, Robots: 41)

Vary: Accept-Encoding,User-Agent

Cache-control: private, max-age=0

Set-Cookie: 5s_session=7b75378272c2c1f61f42de525ebcba71; path=/; domain=www.5giay.vn; secure; httponly

X-Frame-Options: SAMEORIGIN

Server: Nhat Nguyet Websphere 12.3 build 3.456.234.2600

X-Powered-By: nhatnguyet-