重 點
● 必須知道正確使用JavaScript的方式
● 必須熟悉JavaScript的工作環境

致力推動新一代網頁標準的JavaScript大師Douglas Crockford,他也是網頁資料交換格式JSON的發明人。4月中他來臺參加臺灣開放原始碼開發者年會(OSDC.TW)時,與臺灣開發者分享他的開發秘訣,如下:

對任何JavaScript開發者而言,有三件必須了解的事。第一項,開發者必須知道如何正確地使用JavaScript語言。很多開發者還不熟悉這個語言時,就開始使用它,所以會衍生很多問題。


JavaScript大師Douglas Crockford建議,開發者必須了解語言特性後,才開始運用它。

因為JavaScript是非常強大的語言,開發過程要處理很多工作,只有真正了解語言特性,才可以擁有更多生產力,開發者才能更快樂。

JavaScript是一種函數語言(Functional Language),可用來控制動態物件,也提供開發者熟悉的語法,這反映出它的功能特殊性,從物件角度來看,其實JavaScript語言比Java、C++或C#語言更優秀。

但是很多人痛恨JavaScript,其實是因為不了解JavaScript所工作的環境,這正是開發者必須知道的第二件事。開發者之所以痛恨JavaScript,其實他們痛恨的是瀏覽器提供的DOM元件。DOM的確是一種恐怖的API,若將任何開發語言的標準函式換成DOM以後,任誰都會痛恨這個語言,這就是JavaScript的處境。

瀏覽器是JavaScript的工作環境,開發者唯有了解瀏覽器的特性,才能順利掌握它。我正在推動新一代的JavaScript標準ECMAScript 5,希望能夠用更合理的API來取代DOM。

最後一項重點是JavaScript的安全知識。對瀏覽器應用程式而言,安全永遠是最重要的。因為不論使用者是否清楚網頁程式的確切用途,瀏覽器都會執行程式,而網頁程式很容易載入使用者所不知道的程式片段。

我們總是在功能強大和危險之間掙扎,瀏覽器的功能有限是好事。這樣就能區分出程式到底考慮使用者還是網站的利益,這是瀏覽器的重要創新。可是,瀏覽器只能分辨出使用者、網站或瀏覽器本身的意圖,無法分辨出其他程式的意圖,例如瀏覽器無法預料跨站腳本攻擊(XSS)可以透過混搭程式滲透到網頁中。

在混搭的網路應用中, 每一個外掛元件代表了不同的利益和意圖。軟體界過去幾十年一直在尋找這類元件,JavaScript和瀏覽器是第一個成功者。但是,瀏覽器最大問題是讓每一個元件取得所有權限,所以混搭元件會衍生出跨站腳本攻擊。

目前,在最新的JavaScript標準ECMAScript第五版中,已經改善了語言的安全問題,會持續讓JavaScript變成一個安全的語言,最快今年底前會出現支援ECMAScript的瀏覽器。

瀏覽器廠商必須重新改造DOM元件,這也是我正在努力的方向。整理⊙王宏仁

熱門新聞

Advertisement