天天看點

JavaScript入門基礎

術語解釋

javascript是一種由netscape的livescript發展而來的原型化繼承的面向對象的動态類型的區分大小寫的用戶端腳本語言,主要目的是為了解決伺服器端語言,比如perl,遺留的速度問題,為客戶提供更流暢的浏覽效果。當時服務端需要對資料進行驗證,由于網絡速度相當緩慢,隻有28.8kbps,驗證步驟浪費的時間太多。于是netscape的浏覽器navigator加入了javascript,提供了資料驗證的基本功能。

javascript 被用來改進設計、驗證表單、檢測浏覽器、建立cookies,等等。javascript 是網際網路上最流行的腳本語言,并且可在所有主要的浏覽器中運作,比方說 internet explorer、 maxthon、mozilla、firefox、netscape、chrome和 opera等。

javascript 被設計用來向 html 頁面添加互動行為。

javascript 是一種腳本語言(腳本語言是一種輕量級的程式設計語言)。

javascript 由數行可執行計算機代碼組成。

javascript 通常被直接嵌入 html 頁面。

javascript 是一種解釋性語言(就是說,代碼執行不進行預編譯)。

所有的人無需購買許可證均可使用 javascript。

概念辨析 

javascript與java

javascript最初的确是受java啟發而開始設計的,而且設計的目的之一就是“看上去像java”,是以文法上有很多類似之處,許多名稱和命名規範也借自java。但是實際上,javascript的主要設計原則源自self和scheme,它與java本質上是不同的。它與java名稱上的近似,是當時網景為了營銷考慮與sun公司達成協定的結果。其實從本質上講javascript更像是一門函數式程式設計語言.而非面向對象的語言,它使用一些智能的文法和語義來仿真高度複雜的行為。其對象模型極為靈活、開放和強大,具有全部的反射性。

javascript與jscript

jscript是microsoft公司開發的,javascript是netscape公司開發的.雖然他們是死對頭,但是在現在的浏覽器中,無論你把語言指定為javascript 還是 jscript, 浏覽器都會綜合他們兩個語言的特性.是以,即使把語言指定為javascript, 用幾句jscript也是沒問題的.

javascript與vbscript

javascript 和 vbscript 的互通性很好,而且在 vbarray(javascript不支援多元數組)和ascii(javascript不能吧字元轉成ascii)都得到了應用,這方面基礎 vbscript 做得很好。是以我看了看它的代碼,大緻意思就是 javascript 可以用 vbscript 的自定義函數和變量(當然不能用内置變量和函數),通過轉換調用内置函數。

javascript與ajax

 ajax即“asynchronous javascript and xml”(異步javascript和xml),它也是一種javascript程式設計語言。javascript是一種粘合劑使ajax應用的各部分內建在一起。ajax是基于web标準xhtml+css的表示;使用 dom進行動态顯示及互動;使用xml 和xslt 進行資料交換及相關操作;使用xmlhttprequest 進行異步資料查詢、檢索;使用 javascript 将所有的東西綁定在一起。

javascript與dom

dom是document object model(文檔對象模型)的簡稱,它是讓javascript與頁面互動的一種方式,能夠動态修改文檔中的節點,元素,屬性等。dom不僅适用于xhtml文檔,對于所有的xml文檔dom都是可以使用的。

dom的級别:

1級:基本的節點操作一級裡都包括了

2級:增加了對樣式表,文檔顯示,事件處理,等的支援

3級:可以用javascript加載和儲存文檔,檢查文檔錯誤

javascript與html

html 創作者往往都不是程式員,但是 javascript 卻是一種隻擁有極其簡單的文法的腳本語言。每人都可将短小的代碼片斷放入html 頁面中。

類似于這樣的一段 javascript 聲明可以将一段可變的文本放入 html 頁面:document.write("<h1>" + name + "</h1>")

可以将 javascript 設定為當某事件發生時才會被執行,例如頁面載入完成或者當使用者點選某個 html 元素時。

javascript 可以讀取及改變 html 元素的内容。

在資料被送出到伺服器之前,javascript 可被用來驗證這些資料。

javascript 可被用來檢測通路者的浏覽器,并根據所檢測到的浏覽器,為這個浏覽器載入相應的頁面。

javascript 可被用來存儲和取回位于通路者的計算機中的資訊。

javascript與css+div

css(cascading style sheet)層疊樣式表,是一組格式設定規則,用于控制web頁面的外觀。通過使用css樣式設定頁面的格式,可将頁面的内容與表現形式分離。

div主要用來布局,與table布局相似,用來為html文檔内大塊(block-level)的内容提供結構和背景的元素。div的起始标簽和結束标簽之間的所有内容都是用來構成這個塊的,其中所包含元素的特性由div标簽的屬性來控制,或者是通過使用樣式表格式化這個塊來進行控制。

javascript可以通過getelementbyid(id)或getelementsbytabname(tabname)等來設定或修改css和div的屬性值

javascript與程式設計語言

javascript 不是一個預編譯語言,是以雖然 javascript 的作者盡量把它寫得強大。盡管javascript作為給非程式人員的腳本語言,而非作為給程式人員的程式設計語言來推廣和宣傳,但是javascript是一門具有非常豐富特性的語言,它有着和其他程式設計語言一樣的複雜性,或更甚複雜。實際上,你必需對javascript有紮實的了解才能用它來撰寫比較複雜的程式。

基本文法

1、運算符

運算符就是完成操作的一系列符号: 

指派運算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)

算術運算符(+,-,*,/,++,--,%)

比較運算符(>,<,<=,>=,==,===,!=,!==)

邏輯運算符(||,&&,!)、條件運算(?:)、位移運算符(|,&,<<,>>,~,^)、字元串運算符(+)

2、 表達式

運算符和操作數的組合稱為表達式,通常分為四類:指派表達式、算術表達式、布爾表達式和字元串表達式

3、語句

指派語句、switch、for、foreach、while、do while、break、continue、try...catch、if語句、with語句、let語句

4、函數

函數是命名的語句段,這個語句段可以被當作一個整體來引用和執行:

1)函數由關鍵字function定義(也可由function構造函數構造);

2)使用function關鍵字定義的函數在一個作用域内是可以在任意處調用的(包括定義函數的語句前);而用var關鍵字定義的必須定義後才能被調用;

3)函數名是調用函數時引用的名稱,它對大小寫是敏感的,調用函數時不可寫錯函數名;

4)參數表示傳遞給函數使用或操作的值,它可以是常量,也可以是變量,也可以是函數,在函數内部可以通arguments對象(arguments對象是一個僞數組,屬性callee引用被調用的函數)通路所有參數;

5)return語句用于傳回表達式的值。

6)yield語句扔出一個表達式,并且中斷函數執行直到下一次調用next。

一般的函數都是以下格式:

  function myfunction(params){

  //執行的語句

  }

  函數表達式:

  var myfunction=function(params){

       myfunction();//調用函數

5、對象

javascript是面向對象的,通過基于對象的程式設計,可以用更直覺、子產品化和可重複使用的方式進行程式開發。

一組包含資料的屬性和對屬性中包含資料進行操作的方法,稱為對象。比如要設定網頁的背景顔色,所針對的對象就是document,所用的屬性名是bgcolor,如document.bgcolor="blue",就是表示使背景的顔色為藍色。

6、事件

事件,使用者與網頁互動時産生的操作。

事件可以由使用者引發、也可能是頁面發生改變、甚至還有你看不見的事件(如ajax的互動進度改變)。絕大部分事都由使用者的動作所引發,如:使用者按滑鼠的按鈕,就産生click事件,若滑鼠的指針的連結上移動,就産生mouseover事件等等。在javascript中,事件往往與事件處理程式配套使用。

而對事件的處理,w3c的方法是用addeventlistener()函數,它有三個參數:事件、引發的函數、是否使用事件捕捉。為了安全性,建議将第三個參數始終設定為false;

傳統的方法就是定義元素的on...事件,它就是w3c的方法中的事件參數前加一個“on”。而ie的事件模型使用attachevent和dettachevent對事件進行綁定和删除。javascript中事件還分捕獲和冒泡兩個階段,但是傳統綁定隻支援冒泡事件。

7、變量

如   var myvariable = "some value";

  變量有它的類型,上例中myvariable的類型為string(字元串)

  javascript支援的常用類型還有:

  object:對象

  array:數組

  number:數;

  boolean:布爾值,隻有true和false兩個值,是所有類型中占用記憶體最少的;

  null:一個空值,唯一的值是null;

  undefined:沒有定義和指派的變量

  實際上javascript的變量是弱變量類型,你指派給他的是字元串,他就是string .

  是數字他就是整形。是true和false他就是boolean型(注意,不能加引号,不然會被當成字元串處理)。

轉載:http://blog.csdn.net/ithomer/article/details/5784005