目錄:
深入淺出JavaScript(1)—ECMAScript
深入淺出JavaScript(2)—ECMAScript
鄭重向大家推薦我的Jquery.ajax系列文章,點擊查看
引:
你真的瞭解JavaScript嗎?很多人將它看作java等物件導向語言的功能不健全文法不規範的小弟,甚至雕蟲小技,對它一屑不顧。
當今,越來越多的程式員從事B/S模式的開發,加上Ajax的崛起,JavaScript已經被推到閃光燈下,大家忽然發現,JavaScript並不是一個容易掌握的技術,它幾乎涉及了面向過程,對象和函數式三種程式設計語言的特點,且異常靈活,潛能無限,本人也是盡自己所能,結合前人的智慧,將自己的體驗總結一下,供大家參考。
聲明一下,不再贅述什麼是javascript,以及它的由來,如果你沒有電腦基礎,只是想在網站上加點互動性,那麼請繞道,直接去百度複製粘貼就可以了。
我們先從JavaScript的實現說起,一個完整的JavaScript實現由以下三個不同部分組成:
ECMAScript(核心),描述JavaScript的文法和基本對象。Javscript,JScript,ActionScript等指令碼語言都是基於ECMAScript標準實現的。所以,ECMAScript實際上是一種指令碼在文法和語義上的標準。
DOM(文件物件模型),是HTML和XML的應用程式介面,也就是API介面。它將整個頁面規劃為由節點層級構成的文檔。
BOM(瀏覽器物件模型),是與瀏覽器進行互動的方法和介面。例如移動視窗,改變狀態列中的文本等。由於沒有BOM標準,每種瀏覽器都有自己的BOM實現。
下面我們來分析一下JavaScript的核心ECMAScript文法基礎。目的是深入瞭解JavaScript是如何運作的。
主要涉及以下內容:
變數:
當然,作為一個合格的程式員,僅僅文法正確並不是達到我們的要求,變數命名還應遵守以下著名的命名規則:
Camel標記法:首字母小寫,單詞以大寫字母開頭。例:var newTextValue="HelloWorld"。
Pascal標記法:都以大寫字母開頭。例: var
NewTextValue="HelloWorld"。
匈牙利標記法:以Pascal標記法命名的變數名前加一個小寫字母,說明該變數的類型,例如s字串,i整數等。
資料類型:
原始類型:這種類型的變數是儲存在棧區中的簡單資料區段,即它們的值直接儲存在變數訪問的位置。
參考型別:參考型別的變數是儲存在堆中的對象,即儲存在變數處的值是一個指標,指向儲存物件的記憶體處。
object類:
Boolean類:
Number類:
String類:
再來兩個函數
typeof:返回變數或值的類型。
例如:var sTest="my string";
Alert(typeof sTest);//outputs"string"
傳回值 |
參數類型 |
undefined |
Undefined |
boolean |
Boolean |
number |
Number |
string |
String |
object |
參考型別或Null |
instanceof:在使用typeof運算子時採用參考型別儲存值會出一個問題,無論引用的是什麼類型的對此昂,它都返回“object”,所以引入instanceof來解決這個問題。instanceof方法要求程式員明確地確認對象是某種類型。
例如:
Var sObject=newString("MyTest");
Alert(sObject instanceof string);outputs "true"
類型轉換:
總結:
今天主要寫了關於javascript核心ECMAScript的基礎知識,包括變數和資料類型,以及類型轉換。這有助於我們深入理解javascript原理,下次會繼續把ECMAScript寫完。
文章中圖,全部截自自己畫的思維導圖MindManager。
今天就寫到這把,我會繼續寫下去,最後還是想說,如果只是想往網頁上添一些傻瓜式的互動,請跳過本系列文章。
歡迎拍磚