Javascript 基礎教學Javascript 簡介
javascript
JavaScript一種直譯式腳本語言,是一種動態類型、弱型別、基於原型的語言,內建支援類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個應用)網頁上使用,用來為HTML網頁增加動態功能。
在1995年時,由Netscape公司的Brendan Eich,在網景導航者瀏覽器上首次設計實現而成。因為Netscape與Sun合作,Netscape管理階層希望它看起來像Java,所以取名為JavaScript。但實際上它的語法風格與Self及Scheme較為接近。
為了取得技術優勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運作。為了統一規格,因為JavaScript相容於ECMA標準,因此也稱為ECMAScript。
組成部分
1. #ECMAScript,描述了該語言的語法和基本物件。
2.文件物件模式(DOM),描述處理網頁內容的方法和介面。
3.瀏覽器物件模型(BOM),說明與瀏覽器互動的方法與介面。
javascript 組成:
#
JavaScript是一種屬於網路的腳本語言,已經被廣泛用於Web應用開發,常用來為網頁添加各式各樣的動態功能,提供使用者更流暢美觀的瀏覽效果。通常的JavaScript腳本是透過嵌入在HTML中來實現自身的功能。
是一種解釋性腳本語言(程式碼不預先編譯)。
主要用來在HTML(標準通用標記語言下的一個應用)頁面中加入互動行為。
可以直接嵌入HTML頁面,但寫成單獨的js檔案有利於結構和行為的分離。
跨平台特性,在絕大多數瀏覽器的支援下,可在多種平台下運作(如Windows、Linux、Mac、Android、iOS等)。
Javascript腳本語言與其他語言一樣,並且有它本身的基本資料類型,表達式和算術運算子及程式的基本程式架構。 Javascript提供了四種基本的資料型別和兩種特殊資料型別用來處理資料和文字。而變數提供存放資訊的地方,表達式則可以完成較複雜的資訊處理。
日常用途
1.嵌入動態文字於HTML頁面。
2.對瀏覽器事件做出回應。
3.讀寫HTML元素。
4.在資料被提交到伺服器之前驗證資料。
5.偵測訪客的瀏覽器資訊。
6.控制cookies,包括建立和修改等。
7.基於Node.js技術進行伺服器端程式設計。
歷史
#它最初是由Netscape的Brendan Eich設計。 JavaScript是甲骨文公司的註冊商標。 Ecma國際以JavaScript為基礎制定了ECMAScript標準。 JavaScript也可以用於其他場合,如伺服器端程式設計。完整的JavaScript實作包含三個部分:ECMAScript,文件物件模型,瀏覽器物件模型。
Netscape最初將其腳本語言命名為LiveScript,後來Netscape在與Sun合作後將其改名為JavaScript。 JavaScript最初受Java啟發而開始設計的,目的之一就是“看起來像Java”,因此語法上有類似之處,一些名稱和命名規範也藉自Java。但JavaScript的主要設計原則源自於Self和Scheme。 JavaScript與Java名稱上的近似,是當時Netscape為了行銷考量與Sun微系統達成協議的結果。為了取得技術優勢,微軟推出了JScript來迎戰JavaScript的腳本語言。為了互用性,Ecma國際(前身為歐洲電腦製造商協會)創建了ECMA-262標準(ECMAScript)。兩者都屬於ECMAScript的實作。儘管JavaScript作為給非程式設計師的腳本語言,而非作為給程式設計師的腳本語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。
發展初期,JavaScript的標準並未確定,同期有Netscape的JavaScript,微軟的JScript和CEnvi的ScriptEase三足鼎立。 1997年,在ECMA(歐洲電腦製造商協會)的協調下,由Netscape、Sun、微軟、Borland組成的工作小組確定統一標準:ECMA-262。
特性
JavaScript腳本語言具有下列特點:
(1)腳本語言。 JavaScript是一種解釋型的腳本語言,C、C++等語言先編譯後執行,而JavaScript是在程式的運行過程中逐行進行解釋。
(2)基於物件。 JavaScript是一種基於物件的腳本語言,它不僅可以創建物件,也能使用現有的物件。
(3)簡單。 JavaScript語言中採用的是弱類型的變數類型,對使用的資料類型未做出嚴格的要求,是基於Java基本語句和控制的腳本語言,其設計簡單緊湊。
###(4)動態性。 JavaScript是一種採用事件驅動的腳本語言,它不需要經過Web伺服器就可以對使用者的輸入做出回應。造訪一個網頁時,滑鼠在網頁中進行滑鼠點擊或上下移、視窗移動等操作JavaScript都可直接對這些事件給予對應的回應。 ###(5)跨平台性。 JavaScript腳本語言不依賴作業系統,只需要瀏覽器的支援。因此一個JavaScript腳本在編寫後可以帶到任意機器上使用,前提上機器上的瀏覽器支 持JavaScript腳本語言,目前JavaScript已被大多數的瀏覽器所支援。
不同於伺服器端腳本語言,例如PHP與ASP,JavaScript主要被當作客戶端腳本語言在使用者的瀏覽器上執行,不需要伺服器的支援。所以在早期程式設計師比較青睞JavaScript以減少對伺服器的負擔,而同時也帶來另一個問題:安全性。
而隨著伺服器的強壯,雖然程式設計師更喜歡運行於服務端的腳本以保證安全,但JavaScript仍然以其跨平台、容易上手等優勢大行其道。同時,有些特殊功能(如AJAX)必須依賴Javascript在客戶端進行支援。隨著引擎如V8和框架如Node.js的發展,及其事件驅動及非同步IO等特性,JavaScript逐漸被用來編寫伺服器端程式。
程式設計
JavaScript是一種腳本語言,其原始程式碼在發送到客戶端運行之前不需經過編譯,而是將文字格式的字元代碼傳送給瀏覽器由瀏覽器解釋運行。直譯語言的弱點是安全性較差,而且在JavaScript中,如果一條運行不了,那麼下面的語言也無法運作。
版本
JavaScript已經被Netscape公司提交給ECMA制定為標準,稱為ECMAScript,標準編號ECMA-262 。目前最新版為ECMA-262 5th Edition。符合ECMA-262 3rd Edition標準的實作有
1.Microsoft公司的JScript.
# 2.Mozilla的JavaScript-C(C語言實作),現名為SpiderMonkey
3.Mozilla的Rhino(Java實作)
4.Digital Mars公司的DMDScript
# 5.oogle公司的V8
6.WebKit