JavaScript是一種解釋執(zhí)行的腳本語言,是一種動(dòng)態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型,它遵循ECMAScript標(biāo)準(zhǔn)。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,主要用來給HTML增加動(dòng)態(tài)功能。
幾乎所有主流的語言都可以編譯為JavaScript,進(jìn)而能夠在所有平臺(tái)上的瀏覽器中執(zhí)行,這也體現(xiàn)了JavaScript的強(qiáng)大性和在Web開發(fā)中的重要性。如Blade:一個(gè)Visual Studio擴(kuò)展,可以將C#代碼轉(zhuǎn)換為JavaScript,Ceylon:一個(gè)可編譯為JavaScript的、模塊化的、靜態(tài)類型JVM語言。
JavaScript是一種可以同時(shí)運(yùn)行在前端與后臺(tái)的語言,如Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境(類似Java或.NET)。 Node.js 使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式 I/O 的模型,使其輕量又高效。
ECMAScript,描述了該語言的語法和基本對(duì)象,如類型、運(yùn)算、流程控制、面向?qū)ο蟆惓5取?/p>
文檔對(duì)象模型(DOM),描述處理網(wǎng)頁內(nèi)容的方法和接口。
瀏覽器對(duì)象模型(BOM),描述與瀏覽器進(jìn)行交互的方法和接口。
JavaScript由對(duì)象組成,一切皆為對(duì)象。
a)、解釋型的腳本語言。JavaScript是一種解釋型的腳本語言,C、C++等語言先編譯后執(zhí)行,而JavaScript是在程序的運(yùn)行過程中逐行進(jìn)行解釋。
基于對(duì)象。JavaScript是一種基于對(duì)象的腳本語言,它不僅可以創(chuàng)建對(duì)象,也能使用現(xiàn)有的對(duì)象。
b)、簡(jiǎn)單。JavaScript語言中采用的是弱類型的變量類型,對(duì)使用的數(shù)據(jù)類型未做出嚴(yán)格的要求,是基于Java基本語句和控制的腳本語言,其設(shè)計(jì)簡(jiǎn)單緊湊。
c)、動(dòng)態(tài)性。JavaScript是一種采用事件驅(qū)動(dòng)的腳本語言,它不需要經(jīng)過Web服務(wù)器就可以對(duì)用戶的輸入做出響應(yīng)。在訪問一個(gè)網(wǎng)頁時(shí),鼠標(biāo)在網(wǎng)頁中進(jìn)行鼠標(biāo)點(diǎn)擊或上下移、窗口移動(dòng)等操作JavaScript都可直接對(duì)這些事件給出相應(yīng)的響應(yīng)。
d)、跨平臺(tái)性。JavaScript腳本語言不依賴于操作系統(tǒng),僅需要瀏覽器的支持。因此一個(gè)JavaScript腳本在編寫后可以帶到任意機(jī)器上使用,前提上機(jī)器上的瀏覽器支 持JavaScript腳本語言,目前JavaScript已被大多數(shù)的瀏覽器所支持。
1)、ECMAScript是一個(gè)標(biāo)準(zhǔn)(歐洲計(jì)算機(jī)制造商協(xié)會(huì)),JavaScript只是它的一個(gè)實(shí)現(xiàn),其他實(shí)現(xiàn)包括ActionScript(Flash腳本)
2)、ECMAScript可以為不同種類的宿主環(huán)境提供核心的腳本編程能力,即ECMAScript不與具體的宿主環(huán)境相綁定,如JavaScript的宿主環(huán)境是瀏覽器,AS的宿主環(huán)境是Flash。、
3)、ECMAScript描述了以下內(nèi)容:語法、類型、語句、關(guān)鍵字、保留字、運(yùn)算符、對(duì)象等
在JS中使用var關(guān)鍵詞聲明變量,變量的類型會(huì)根據(jù)其所賦值來決定(動(dòng)態(tài)類型)。JS中數(shù)據(jù)類型分為原始數(shù)據(jù)類型(5種)和引用數(shù)據(jù)類型(Object類型)。
1)5種原始數(shù)據(jù)類型:Undefined、Null、Boolean、Number和String。需要注意的是JS中字符串屬于原始數(shù)據(jù)類型。
2)typeof運(yùn)算符:查看變量類型,對(duì)變量或值調(diào)用typeof運(yùn)算符將返回下列值之一: