基于對象的編程語言
JavaScript是一種基于對象的編程語言而不能說是面向?qū)ο蟮木幊陶Z言,因為對象性的特征在JavaScript中并不像Java語言中那樣純正。在JavaScript中有內(nèi)置的對象,同時用戶也可以創(chuàng)建并使用自己的對象。
弱類型語言
JavaScript編程語言沒有編譯階段,文本編輯器開發(fā)完畢之后,直接使用瀏覽器打開即可解釋執(zhí)行,所以JavaScript中的變量在定義的時候不需要指定數(shù)據(jù)類型,并且變量賦值的時候可以隨意賦值,具體賦值的時候,值決定變量的數(shù)據(jù)類型。
JavaScript在變量約束方面非常弱,所以稱為弱類型語言。Java語言存在編譯階段,在Java語言當中聲明變量i為int類型,那么變量i只能接收int類型的字面值,如果字面值的數(shù)據(jù)類型和變量的數(shù)據(jù)類型不同,程序是無法編譯通過的,并且從int類型的變量i開始聲明到最終程序執(zhí)行結(jié)束,i變量的數(shù)據(jù)類型永遠都是int類型,占用4個字節(jié),像Java這種對變量約束較強的編程語言被稱為強類型編程語言。
JavaScript是一種腳本語言,腳本語言是一種解釋性的語言,以普通文本形式保存,不需要編譯生成目標程序,可以直接用文本編輯器打開查看。它不象c\c++等可以編譯成二進制代碼以可執(zhí)行文件的形式存在。JavaScript腳本語言可直接使用JavaScript解釋器解釋執(zhí)行,可能在解釋的過程當中進行編譯。
JavaScript基于Java的基本語法和語句流程,而Java是從C++語言發(fā)展而來,因此有過C語言開發(fā)經(jīng)驗的人員學習JavaScript十分容易。此外,JavaScript是一種弱類型語言,其變量并沒有嚴格的數(shù)據(jù)類型,免去了許多麻煩。
JavaScript是基于事件驅(qū)動的,所謂事件驅(qū)動就是觸發(fā)一定的操作而引起某些動作。例如,鼠標單擊按鈕,頁面加載完畢等等這些都是事件。可以根據(jù)不同的事件創(chuàng)建相應(yīng)的響應(yīng)代碼,這樣就可以實現(xiàn)和用戶的動態(tài)交互。
前面提到JavaScript代碼在瀏覽器中解釋執(zhí)行,并沒有利用具體平臺的特性,所以只要有支持JavaScript的瀏覽器,無論在什么平臺上代碼都能得到執(zhí)行。開發(fā)人員在編寫JavaScript腳本過程中就無需考慮具體平臺的限制。只需要考慮瀏覽器兼容問題即可。
JavaScript是安全的,其不允許訪問本地硬盤,也不能將數(shù)據(jù)存入到服務(wù)器上,不允許對網(wǎng)絡(luò)文檔進行修改和刪除,只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互。從而有效地防止數(shù)據(jù)的丟失和破壞。