Javascript 基礎(chǔ)教程之Javascript 簡介
javascript
? ? JavaScript一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(標(biāo)準通用標(biāo)記語言下的一個應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能。
????在1995年時,由Netscape公司的Brendan Eich,在網(wǎng)景導(dǎo)航者瀏覽器上首次設(shè)計實現(xiàn)而成。因為Netscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。但實際上它的語法風(fēng)格與Self及Scheme較為接近。
????為了取得技術(shù)優(yōu)勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運行。為了統(tǒng)一規(guī)格,因為JavaScript兼容于ECMA標(biāo)準,因此也稱為ECMAScript。
組成部分
? ?1.?ECMAScript,描述了該語言的語法和基本對象。
????2.文檔對象模型(DOM),描述處理網(wǎng)頁內(nèi)容的方法和接口。
????3.瀏覽器對象模型(BOM),描述與瀏覽器進行交互的方法和接口。
javascript 組成:
基本特點
JavaScript是一種屬于網(wǎng)絡(luò)的腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現(xiàn)自身的功能的。?
????是一種解釋性腳本語言(代碼不進行預(yù)編譯)。
????主要用來向HTML(標(biāo)準通用標(biāo)記語言下的一個應(yīng)用)頁面添加交互行為。
????可以直接嵌入HTML頁面,但寫成單獨的js文件有利于結(jié)構(gòu)和行為的分離。
????跨平臺特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺下運行(如Windows、Linux、Mac、Android、iOS等)。
????????Javascript腳本語言同其他語言一樣,有它自身的基本數(shù)據(jù)類型,表達式和算術(shù)運算符及程序的基本程序框架。Javascript提供了四種基本的數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達式則可以完成較復(fù)雜的信息處理。
日常用途
1.嵌入動態(tài)文本于HTML頁面。
2.對瀏覽器事件做出響應(yīng)。?
3.讀寫HTML元素。
4.在數(shù)據(jù)被提交到服務(wù)器之前驗證數(shù)據(jù)。
5.檢測訪客的瀏覽器信息。
6.控制cookies,包括創(chuàng)建和修改等。
7.基于Node.js技術(shù)進行服務(wù)器端編程。
歷史
它最初由Netscape的Brendan Eich設(shè)計。JavaScript是甲骨文公司的注冊商標(biāo)。Ecma國際以JavaScript為基礎(chǔ)制定了ECMAScript標(biāo)準。JavaScript也可以用于其他場合,如服務(wù)器端編程。完整的JavaScript實現(xiàn)包含三個部分:ECMAScript,文檔對象模型,瀏覽器對象模型。?
Netscape在最初將其腳本語言命名為LiveScript,后來Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發(fā)而開始設(shè)計的,目的之一就是“看上去像Java”,因此語法上有類似之處,一些名稱和命名規(guī)范也借自Java。但JavaScript的主要設(shè)計原則源自Self和Scheme。JavaScript與Java名稱上的近似,是當(dāng)時Netscape為了營銷考慮與Sun微系統(tǒng)達成協(xié)議的結(jié)果。為了取得技術(shù)優(yōu)勢,微軟推出了JScript來迎戰(zhàn)JavaScript的腳本語言。為了互用性,Ecma國際(前身為歐洲計算機制造商協(xié)會)創(chuàng)建了ECMA-262標(biāo)準(ECMAScript)。兩者都屬于ECMAScript的實現(xiàn)。盡管JavaScript作為給非程序人員的腳本語言,而非作為給程序人員的腳本語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。?
發(fā)展初期,JavaScript的標(biāo)準并未確定,同期有Netscape的JavaScript,微軟的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(歐洲計算機制造商協(xié)會)的協(xié)調(diào)下,由Netscape、Sun、微軟、Borland組成的工作組確定統(tǒng)一標(biāo)準:ECMA-262。
特性
JavaScript腳本語言具有以下特點:
(1)腳本語言。JavaScript是一種解釋型的腳本語言,C、C++等語言先編譯后執(zhí)行,而JavaScript是在程序的運行過程中逐行進行解釋。
(2)基于對象。JavaScript是一種基于對象的腳本語言,它不僅可以創(chuàng)建對象,也能使用現(xiàn)有的對象。
(3)簡單。JavaScript語言中采用的是弱類型的變量類型,對使用的數(shù)據(jù)類型未做出嚴格的要求,是基于Java基本語句和控制的腳本語言,其設(shè)計簡單緊湊。
(4)動態(tài)性。JavaScript是一種采用事件驅(qū)動的腳本語言,它不需要經(jīng)過Web服務(wù)器就可以對用戶的輸入做出響應(yīng)。在訪問一個網(wǎng)頁時,鼠標(biāo)在網(wǎng)頁中進行鼠標(biāo)點擊或上下移、窗口移動等操作JavaScript都可直接對這些事件給出相應(yīng)的響應(yīng)。
(5)跨平臺性。JavaScript腳本語言不依賴于操作系統(tǒng),僅需要瀏覽器的支持。因此一個JavaScript腳本在編寫后可以帶到任意機器上使用,前提上機器上的瀏覽器支 持JavaScript腳本語言,目前JavaScript已被大多數(shù)的瀏覽器所支持。
不同于服務(wù)器端腳本語言,例如PHP與ASP,JavaScript主要被作為客戶端腳本語言在用戶的瀏覽器上運行,不需要服務(wù)器的支持。所以在早期程序員比較青睞于JavaScript以減少對服務(wù)器的負擔(dān),而與此同時也帶來另一個問題:安全性。
而隨著服務(wù)器的強壯,雖然程序員更喜歡運行于服務(wù)端的腳本以保證安全,但JavaScript仍然以其跨平臺、容易上手等優(yōu)勢大行其道。同時,有些特殊功能(如AJAX)必須依賴Javascript在客戶端進行支持。隨著引擎如V8和框架如Node.js的發(fā)展,及其事件驅(qū)動及異步IO等特性,JavaScript逐漸被用來編寫服務(wù)器端程序。
編程
JavaScript是一種腳本語言,其源代碼在發(fā)往客戶端運行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運行。直譯語言的弱點是安全性較差,而且在JavaScript中,如果一條運行不了,那么下面的語言也無法運行。
版本
JavaScript已經(jīng)被Netscape公司提交給ECMA制定為標(biāo)準,稱之為ECMAScript,標(biāo)準編號ECMA-262。目前最新版為ECMA-262 5th Edition。符合ECMA-262 3rd Edition標(biāo)準的實現(xiàn)有
1.Microsoft公司的JScript.
2.Mozilla的JavaScript-C(C語言實現(xiàn)),現(xiàn)名SpiderMonkey
3.Mozilla的Rhino(Java實現(xiàn))
4.Digital Mars公司的DMDScript
5.oogle公司的V8
6.WebKit
????