Máy tính biên trình ngôn ngữ
Cất chứa
0Hữu dụng +1
0
JavaScript ( tên gọi tắt “JS”) là một loại có hàm số ưu tiênNhẹ lượng cấp,Giải thích hình hoặc tức thời biên dịch hìnhBiên trình ngôn ngữ.Tuy rằng nó là làm khai pháWebGiao diệnKịch bản gốc ngôn ngữMà ra danh, nhưng là nó cũng bị dùng tới rồi rất nhiều phi trình duyệt hoàn cảnh trung, JavaScript căn cứ vào nguyên hình biên trình, nhiều phạm thức động thái kịch bản gốc ngôn ngữ, hơn nữa duy trì mặt hướng đối tượng,Thể mệnh lệnh,Thanh minh thức, hàm số thức biên trình phạm thức.[1]
JavaScript ở 1995 năm từNetscapeCông ty Brendan Eich, ởVõng cảnh hướng dẫn giảTrình duyệt thượng lần đầu thiết kế thực hiện mà thành. Bởi vì Netscape cùngSunHợp tác, NetscapeQuản lý tầngHy vọng nó vẻ ngoài thoạt nhìn giốngJava,Bởi vậy đặt tên vì JavaScript. Nhưng trên thực tế nó ngữ pháp phong cách cùng Self cậpSchemeTương đối tiếp cận.
JavaScript tiêu chuẩn làECMAScript.Tính đến 2012 năm, sở hữu trình duyệt đều hoàn chỉnh duy trì ECMAScript 5.1, cũ phiên bản trình duyệt ít nhất duy trì ECMAScript 3 tiêu chuẩn. 2015 năm 6 nguyệt 17 ngày, ECMA quốc tế tổ chức tuyên bố ECMAScript thứ sáu bản, nên phiên bảnChính thức tênVì ECMAScript 2015, nhưng thông thường được xưng làECMAScript 6Hoặc là ES2015.[1]
Phần mềm tên
JavaScript
Phần mềm ngôi cao
Chrome,IE,Safari,Opera,Firefox,EdgeChờ
Thượng tuyến thời gian
1995 năm[2]
Gần nhất đổi mới thời gian
2023 năm 6 nguyệt
Phần mềm ngôn ngữ
JavaScript
Chủ đầu tư
Netscape,Mozilla quỹ hội
Phần mềm trao quyền
MIT License
Phần mềm phiên bản
ECMAScript 2023

Sinh ra bối cảnh

Bá báo
Biên tập
javascript tạo thành
JavaScript lúc ban đầu từNetscapeBrendan EichThiết kế, lúc ban đầu đem nàyKịch bản gốc ngôn ngữMệnh danh là LiveScript, sau lại Netscape ở cùngSunHợp tác lúc sau đem này sửa tên vì Jav bạch bái toàn ba aScript. JavaScript lúc ban đầu chịuJavaDẫn dắt mà bắt đầu thiết kế, mục đích chi nhất chính là “Nhìn qua giống Java”, bởi vậy ngữ pháp thượng có cùng loại chỗ, một ít tên cùng mệnh danh quy phạm cũng mượn tự Java, nhưng JavaScript chủ yếuThiết kế nguyên tắcNguyên tự Self cùngScheme.JavaScrip tổ lừa t cùng Java tên thượng xấp xỉ, là lúc ấyNetscapeVì marketing suy xét cùng Sun hơi hệ thống đạt thành hiệp nghị kết quả.Hơi mềmMốc thiêm toàn cùng lúc hồng thiếu cũng đẩy raJScriptTới đón chiến JavaScript bà cạo trang kịch bản gốc ngôn ngữ.
Phát triển lúc đầu, JavaScript tiêu chuẩn vẫn chưa xác định, đồng kỳ cóNetscapeJavaScript, hơi mềm JScript cùng CEnvi ScriptEase ba chân thế chân vạc. Vì lẫn nhau dùng tính,Ecma quốc tế( đời trước vì Châu Âu máy tính chế tạo thương hiệp hội ) sáng lậpECMA-262 tiêu chuẩn (ECMAScript), hai người đều thuộc về ECMAScript thực hiện, cứ việc JavaScript làm cấp phi trình tự nhân viên kịch bản gốc ngôn ngữ, mà phi làm cấp trình tự nhân viên kịch bản gốc ngôn ngữ tới mở rộng cùng tuyên truyền, nhưng là JavaScript có phi thường phong phú đặc tính. 1997 năm, ở ECMA (Châu Âu máy tính chế tạo thương hiệp hội) phối hợp hạ, từNetscape,Sun,Hơi mềmThí hưởng mạt,BorlandTạo thành công tác tổ xác định thống nhất tiêu chuẩn: ECMA-262. Hoàn chỉnh JavaScript thực hiện bao hàm ba cái bộ phận:ECMAScript,Hồ sơ đối tượng mô hình,Trình duyệtĐối tượng mô hình.
JavaScript làGiáp cốt văn công tyĐăng ký nhãn hiệu.Ecma quốc tếLấy JavaScrip lăng khuyên t làm cơ sở chế địnhECMAScriptTiêu chuẩn. JavaScript cũng có thể dùng cho mặt khác trường hợp, nhưServer đoanBiên trình lương ném vượt (Node.js).

Chủ yếu công năng

Bá báo
Biên tập
  1. 1.
    Khảm nhậpĐộng thái văn bảnVớiHTMLGiao diện.[5]
  2. 2.
    Đối trình duyệt sự kiện làm ra hưởng ứng.[5]
  3. 3.
    Đọc viếtHTML nguyên tố.[5]
  4. 4.
    Ở số liệu bị đệ trình đến server phía trước nghiệm chứng số liệu.[5]
  5. 5.
    Kiểm tra đo lường khách thăm trình duyệt tin tức.[5]Khống chếCookies,Bao gồm sáng tạo cùng sửa chữa chờ.[5]
  6. 6.
    Căn cứ vàoNode.jsKỹ thuật tiến hành server đoan biên trình.

Ngôn ngữ tạo thành

Bá báo
Biên tập
ECMAScript,Miêu tả nên ngôn ngữ ngữ pháp cùng cơ bản đối tượng.[3]
Hồ sơ đối tượng mô hình( DOM ), miêu tả xử lý trang web nội dung phương pháp cùng tiếp lời.[3]
Trình duyệtĐối tượng mô hình(BOM), miêu tả cùng trình duyệt tiến hành lẫn nhau phương pháp cùng tiếp lời.[3]

Vận hành hình thức

Bá báo
Biên tập
JavaScript là một loại thuộc về internet cao cấp kịch bản gốc ngôn ngữ, đã bị rộng khắp dùng cho Web ứng dụng khai phá, thường dùng tới vì trang web tăng thêm đủ loại kiểu dáng động thái công năng, vì người dùng cung cấp càng lưu sướng mỹ quan xem hiệu quả. Thông thường JavaScript kịch bản gốc là thông qua khảm nhập ởHTMLTrung tới thực hiện tự thân công năng.[4]
  1. 1.
    Là một loại giải thích tính kịch bản gốc ngôn ngữ ( số hiệu không tiến hànhDự biên dịch).[5]
  2. 2.
    Chủ yếu dùng để hướngHTML(Tiêu chuẩn thông dụng đánh dấu ngôn ngữHạ một cái ứng dụng ) giao diện tăng thêm lẫn nhau hành vi.[5]
  3. 3.
    Có thể trực tiếp khảm nhập HTML giao diện, nhưng viết thành đơn độcjsVăn kiện có lợi cho kết cấu cùng hành viChia lìa.[5]
  4. 4.
    Vượt ngôi cao đặc tính, ở tuyệt đại đa số trình duyệt duy trì hạ, có thể ở nhiều loại ngôi cao hạ vận hành ( nhưWindows,Linux,Mac,Android,iOSChờ ).
  5. 5.
    JavaScript kịch bản gốc ngôn ngữ cùng mặt khác ngôn ngữ giống nhau, có nó tự thân cơ bản số liệu loại hình, biểu đạt thức cùngSố học giải toán phùCập trình tự cơ bản trình tự dàn giáo. JavaScript cung cấp bốn loại cơ bản số liệu loại hình cùng hai loại đặc thù số liệu loại hình dùng để xử lý số liệu cùng văn tự. Mà lượng biến đổi cung cấp gửi tin tức địa phương, biểu đạt thức tắc có thể hoàn thành so phức tạp tin tức xử lý.

Ngôn ngữ đặc điểm

Bá báo
Biên tập
JavaScript kịch bản gốc ngôn ngữ có dưới đặc điểm:
( 1 )Kịch bản gốc ngôn ngữ.JavaScript là một loại giải thích hình kịch bản gốc ngôn ngữ,C,C++Chờ ngôn ngữ trước biên dịch sau chấp hành, mà JavaScript là ở trình tự vận hành trong quá trình trục tiến lên hành giải thích.
( 2 )Căn cứ vào đối tượng.JavaScript là một loại căn cứ vào đối tượng kịch bản gốc ngôn ngữ, nó không những có thể sáng tạo đối tượng, cũng có thể sử dụng hiện có đối tượng.
( 3 ) đơn giản. JavaScript ngôn ngữ trung chọn dùng chính là nhược loại hình lượng biến đổi loại hình, đối sử dụngSố liệu loại hìnhChưa làm ra nghiêm khắc yêu cầu, là căn cứ vào Java cơ bản câu nói cùng khống chế kịch bản gốc ngôn ngữ, này thiết kế đơn giản chặt chẽ.
( 4 )Động thái tính.JavaScript là một loại chọn dùngSự kiện điều khiểnKịch bản gốc ngôn ngữ, nó không cần trải qua Web server liền có thể đối người dùng đưa vào làm ra hưởng ứng. Ở phỏng vấn một cái trang web khi, con chuột ở trang web trung tiến hành con chuột điểm đánh hoặc trên dưới di, cửa sổ di động chờ thao tác JavaScript đều nhưng trực tiếp đối này đó sự kiện cấp ra tương ứng hưởng ứng.
( 5 ) vượt ngôi cao tính. JavaScript kịch bản gốc ngôn ngữ không ỷ lại với thao tác hệ thống, chỉ yêu cầu trình duyệt duy trì. Bởi vậy một cái JavaScript kịch bản gốc trong biên chế viết sau có thể đưa tới tùy ý máy móc thượng sử dụng, tiền đề là máy móc thượng trình duyệt duy trì JavaScript kịch bản gốc ngôn ngữ, JavaScript đã bị đại đa số trình duyệt sở duy trì.[4]Bất đồng với server đoan kịch bản gốc ngôn ngữ, tỷ nhưPHPCùngASP,JavaScript chủ yếuBị làmBản cài đặt kịch bản gốc ngôn ngữ ở người dùng trình duyệt thượng vận hành, không cần server duy trì. Cho nên ở lúc đầu lập trình viên tương đối có khuynh hướng sử dụng JavaScript lấy giảm bớt đối server gánh nặng, mà cùng lúc đó cũng mang đến một cái khác vấn đề, an toàn tính.
Mà theo server cường tráng, tuy rằng lập trình viên càng thích vận hành vớiPhục vụ đoanKịch bản gốc lấy bảo đảm an toàn, nhưng JavaScript vẫn cứ lấy này vượt ngôi cao, dễ dàng thượng thủ chờ ưu thế đang thịnh hành. Đồng thời, có chút đặc thù công năng ( nhưAJAX) cần thiết ỷ lại JavaScript ở bản cài đặt tiến hành duy trì.

Biên dịch hình thức

Bá báo
Biên tập
JavaScript là một loạiKịch bản gốc ngôn ngữ,NàyNguyên số hiệuỞ phát hướng bản cài đặt vận hành phía trước không cần trải qua biên dịch, mà là đem văn bản cách thức tự phù số hiệu gửi đi cấp trình duyệt từ trình duyệt giải thích vận hành.Dịch thẳng ngôn ngữNhược điểm là an toàn tính tương đối kém, hơn nữa ở JavaScript trung, nếu một cái vận hành không được, như vậy phía dưới ngôn ngữ cũng vô pháp vận hành. Mà này biện pháp giải quyết chính là với sử dụng try{}catch(){}, trong đó, catch()Trung sẽTruyền vàoSai lầm tin tức.
console.log( "a" );// đây là chính xác console.log( "b" );// đây là chính xác console.logg( "c" );// đây là sai lầm, hơn nữa đến nơi đây sẽ dừng lại console.log( "d" );// đây là chính xác console.log( "e" );// đây là chính xác /* biện pháp giải quyết */ try{console.log( "a" );}catch(e){}// đây là chính xác try{console.log( "b" );}catch(e){}// đây là chính xác try{console.logg( "c" );}catch(e){}// đây là sai lầm, nhưng là đến nơi đây sẽ không dừng lại, mà là nhảy qua try{console.log( "d" );}catch(e){}// đây là chính xác try{console.log( "e" );}catch(e){}// đây là chính xác
JavaScript bị phân loại vì dịch thẳng ngôn ngữ, bởi vì chủ lưu động cơ đều là mỗi lầnVận hành khiThêm tái số hiệu cũng giải dịch.V8Là đem sở hữu số hiệu giải dịch sau lại bắt đầu vận hành, mặt khác động cơ còn lại là trục hành giải dịch (SpiderMonkeySẽ đem giải dịch quá mệnh lệnh tạm tồn, lấy đề cao tính năng, xưng làThật khi biên dịch), nhưng bởi vì V8 trung tâm bộ phận đa số dùng JavaScript sáng tác ( mà SpiderMonkey là dùng C++ ), bởi vậy ở bất đồng thí nghiệm thượng, hai người tính năng lẫn nhau có ưu khuyết. Cùng với tương đối ứng chính làBiên dịch ngôn ngữ,Tỷ nhưC ngôn ngữ,Lấy biên dịch ngôn ngữ biên soạn trình tự ở vận hành phía trước, cần thiết trải qua biên dịch, đem số hiệu biên dịch vìMáy móc mã,Lại tăng thêm vận hành.
Chú thích: // bị gọi hành chú thích, /* */ trung nội dung sẽ bị chú thích.

Ngôn ngữ tiêu chuẩn

Bá báo
Biên tập
JavaScript đã bịNetscapeCông ty đệ trình cấpECMAChế định vì tiêu chuẩn, xưng làECMAScript,Tiêu chuẩn đánh sốECMA-262. Mới nhất bản vìECMAScript 6.Phù hợp ECMA-262 3rd Edition tiêu chuẩn thực hiện có:
  1. 1.
  2. 2.
    MozillaJavaScript-C ( C ngôn ngữ thực hiện ), hiện danhSpiderMonkey
  3. 3.
    MozillaRhino( Java thực hiện )
  4. 4.
    Digital Mars công ty DMDScript
  5. 5.
    GoogleCông tyV8
  6. 6.

Phiên bản ký lục

Bá báo
Biên tập
JavaScript phiên bản
Phiên bản
Tuyên bố ngày
Căn cứ vào
1.0
1996 năm 3 nguyệt
-
2.0
-
-
-
-
-
1.1
1996 năm 8 nguyệt
-
3.0
-
3.0
-
-
-
1.2
1997 năm 6 nguyệt
-
4.0-4.05
-
-
-
-
-
1.3
1998 năm 10 nguyệt
ECMA-262 1 edition / ECMA-262 2 edition
4.06-4.7x
-
4.0
-
-
-
1.4
-
-
Netscape
Server
-
-
-
-
-
1.5
2000 năm 11 nguyệt
ECMA-262 3 edition
6.0
1.0
5.5 (JScript 5.5),
6 (JScript 5.6),
7 (JScript 5.7),
8 (JScript 6)
6.0,
7.0,
8.0,
9.0
-
-
1.6
2005 năm 11 nguyệt
1.5 + Array extras + Array and String generics + E4X
-
1.5
-
-
3.0,
3.1
-
1.7
2006 năm 10 nguyệt
1.6 + Pythonic generators + Iterators + let
-
2.0
-
-
3.2,
4.0
1.0
1.8
2008 năm 6 nguyệt
1.7 + Generator expressions + Expression closures
-
3.0
-
11.50
-
-
1.8.1
-
1.8 + Native JSON support + Minor Updates
-
3.5
-
-
-
-
1.8.2
2009 năm 6 nguyệt 22 ngày
1.8.1 + Minor updates
-
3.6
-
-
-
-
1.8.5
2010 năm 7 nguyệt 27 ngày
1.8.1 + ECMAScript 5 Compliance
-
4
9
11.60
-
-
ES2015
2015 năm
ECMAScript 2015
-
-
-
-
-
-
ECMAScript phiên bản
Phiên bản
Thuyết minh
Thực hiện
ECMAScript 1
Chuẩn hoá JavaScript1.1 cơ bản đặc tính, cũng tăng thêm một ít tân đặc tính. Không có chuẩn hoá switch câu nói cùng chính tắc biểu đạt thức.
Từ Netscape 4.5 cùng IE 4 thực hiện.
ECMAScript 2
ECMA v1 giữ gìn phiên bản, chỉ tăng thêm thuyết minh
Từ Netscape 4.5 cùng IE 4 thực hiện.
ECMAScript 3
Chuẩn hoá switch câu nói, dị thường xử lý cùng chính tắc biểu đạt thức.
Từ Mozilla, Netscape 6 cùng IE 5.5 thực hiện.
ECMAScript 5
Tăng thêm “Nghiêm khắc hình thức”. Tăng thêm JSON duy trì. Tăng thêm String.trim(). Tăng thêm Array.isArray(). Tăng thêm số tổ thay đổi phương pháp.
-
ECMAScript 5.1
Biên tập thay đổi
-
ECMAScript 2015
Tăng thêm let cùng const tăng thêm cam chịu tham số giá trị tăng thêm Array.find() tăng thêm Array.findIndex()[2]
-
ECMAScript 2016
Tăng thêm chỉ số giải toán phù ( ** ). Tăng thêm Array.prototype.includes[2]
-
ECMAScript 2017
Tăng thêm tự phù xuyến bỏ thêm vào. Tăng thêm tân Object thuộc tính. Tăng thêm dị bước công năng. Tăng thêm cùng chung nội tồn.[2]
-
ECMAScript 2018
Tăng thêm rest/spread thuộc tính. Tăng thêm dị bước thay đổi. Tăng thêm Promise.finally(). Gia tăng RegExp.[2]
-