產(chǎn)品介紹
JavaScript(簡(jiǎn)稱(chēng)“JS”)是一種具有函數優(yōu)先的輕量級,解釋型或即時(shí)編譯型的編程語(yǔ)言。雖然它是作為開(kāi)發(fā)Web頁(yè)面的腳本語(yǔ)言而出名,但是它也被用到了很多非瀏覽器環(huán)境中,JavaScript基于原型編程、多范式的動(dòng)態(tài)腳本語(yǔ)言,并且支持面向對象、命令式、聲明式、函數式編程范式。
JavaScript在1995年由Netscape公司的Brendan Eich,在網(wǎng)景導航者瀏覽器上首次設計實(shí)現而成。因為Netscape與Sun合作,Netscape管理層希望它外觀(guān)看起來(lái)像Java,因此取名為JavaScript。但實(shí)際上它的語(yǔ)法風(fēng)格與Self及Scheme較為接近。
JavaScript的標準是ECMAScript。截至2012年,所有瀏覽器都完整的支持ECMAScript 5.1,舊版本的瀏覽器至少支持ECMAScript 3標準。2015年6月17日,ECMA國際組織發(fā)布了ECMAScript的第六版,該版本正式名稱(chēng)為ECMAScript 2015,但通常被稱(chēng)為ECMAScript 6或者ES2015。
主要功能
· 嵌入動(dòng)態(tài)文本于HTML頁(yè)面。
· 對瀏覽器事件做出響應。
· 讀寫(xiě)HTML元素。
· 在數據被提交到服務(wù)器之前驗證數據。
· 檢測訪(fǎng)客的瀏覽器信息。
· 控制cookies,包括創(chuàng )建和修改等。
· 基于Node.js技術(shù)進(jìn)行服務(wù)器端編程。
運行模式
JavaScript是一種屬于網(wǎng)絡(luò )的高級腳本語(yǔ)言,已經(jīng)被廣泛用于Web應用開(kāi)發(fā),常用來(lái)為網(wǎng)頁(yè)添加各式各樣的動(dòng)態(tài)功能,為用戶(hù)提供更流暢美觀(guān)的瀏覽效果。通常JavaScript腳本是通過(guò)嵌入在HTML中來(lái)實(shí)現自身的功能的。
1、是一種解釋性腳本語(yǔ)言(代碼不進(jìn)行預編譯)。
2、主要用來(lái)向HTML(標準通用標記語(yǔ)言下的一個(gè)應用)頁(yè)面添加交互行為。
3、可以直接嵌入HTML頁(yè)面,但寫(xiě)成單獨的js文件有利于結構和行為的分離。
4、跨平臺特性,在絕大多數瀏覽器的支持下,可以在多種平臺下運行(如Windows、Linux、Mac、Android、iOS等)。
5、JavaScript腳本語(yǔ)言同其他語(yǔ)言一樣,有它自身的基本數據類(lèi)型,表達式和算術(shù)運算符及程序的基本程序框架。JavaScript提供了四種基本的數據類(lèi)型和兩種特殊數據類(lèi)型用來(lái)處理數據和文字。而變量提供存放信息的地方,表達式則可以完成較復雜的信息處理。
語(yǔ)言特點(diǎn)
JavaScript腳本語(yǔ)言具有以下特點(diǎn):
(1)腳本語(yǔ)言。JavaScript是一種解釋型的腳本語(yǔ)言,C、C++等語(yǔ)言先編譯后執行,而JavaScript是在程序的運行過(guò)程中逐行進(jìn)行解釋。
(2)基于對象。JavaScript是一種基于對象的腳本語(yǔ)言,它不僅可以創(chuàng )建對象,也能使用現有的對象。
(3)簡(jiǎn)單。JavaScript語(yǔ)言中采用的是弱類(lèi)型的變量類(lèi)型,對使用的數據類(lèi)型未做出嚴格的要求,是基于Java基本語(yǔ)句和控制的腳本語(yǔ)言,其設計簡(jiǎn)單緊湊。
(4)動(dòng)態(tài)性。JavaScript是一種采用事件驅動(dòng)的腳本語(yǔ)言,它不需要經(jīng)過(guò)Web服務(wù)器就可以對用戶(hù)的輸入做出響應。在訪(fǎng)問(wèn)一個(gè)網(wǎng)頁(yè)時(shí),鼠標在網(wǎng)頁(yè)中進(jìn)行鼠標點(diǎn)擊或上下移、窗口移動(dòng)等操作JavaScript都可直接對這些事件給出相應的響應。
(5)跨平臺性。JavaScript腳本語(yǔ)言不依賴(lài)于操作系統,僅需要瀏覽器的支持。因此一個(gè)JavaScript腳本在編寫(xiě)后可以帶到任意機器上使用,前提是機器上的瀏覽器支持JavaScript腳本語(yǔ)言,JavaScript已被大多數的瀏覽器所支持。 [4] 不同于服務(wù)器端腳本語(yǔ)言,例如PHP與ASP,JavaScript主要被作為客戶(hù)端腳本語(yǔ)言在用戶(hù)的瀏覽器上運行,不需要服務(wù)器的支持。所以在早期程序員比較傾向于使用JavaScript以減少對服務(wù)器的負擔,而與此同時(shí)也帶來(lái)另一個(gè)問(wèn)題,安全性。
而隨著(zhù)服務(wù)器的強壯,雖然程序員更喜歡運行于服務(wù)端的腳本以保證安全,但JavaScript仍然以其跨平臺、容易上手等優(yōu)勢大行其道。同時(shí),有些特殊功能(如AJAX)必須依賴(lài)JavaScript在客戶(hù)端進(jìn)行支持。
編譯模式
JavaScript是一種腳本語(yǔ)言,其源代碼在發(fā)往客戶(hù)端運行之前不需經(jīng)過(guò)編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運行。直譯語(yǔ)言的弱點(diǎn)是安全性較差,而且在JavaScript中,如果一條運行不了,那么下面的語(yǔ)言也無(wú)法運行。而其解決辦法就是于使用try{}catch(){},其中,catch()中會(huì )傳入錯誤信息。
JavaScript被歸類(lèi)為直譯語(yǔ)言,因為主流的引擎都是每次運行時(shí)加載代碼并解譯。V8是將所有代碼解譯后再開(kāi)始運行,其他引擎則是逐行解譯(SpiderMonkey會(huì )將解譯過(guò)的指令暫存,以提高性能,稱(chēng)為實(shí)時(shí)編譯),但由于V8的核心部分多數用JavaScript撰寫(xiě)(而SpiderMonkey是用C++),因此在不同的測試上,兩者性能互有優(yōu)劣。與其相對應的是編譯語(yǔ)言,例如C語(yǔ)言,以編譯語(yǔ)言編寫(xiě)的程序在運行之前,必須經(jīng)過(guò)編譯,將代碼編譯為機器碼,再加以運行。
注釋?zhuān)?/span>//被稱(chēng)作行注釋?zhuān)?/span>/* */中的內容會(huì )被注釋。