NaN與Infinity和-Infinity不一樣的是,NaN不會與任何數值變量相等,能夠用javaScript專門提供的isNaN()函數來判斷某個變量是否爲NaN。javascript
Undefined類型的值只有undefined一個,該值用於表示某個變量不存在,或者沒有爲其分配值,也用於表示對象的屬性不存在。Null用於表示變量的值爲空。java
Undefined表示沒有爲變量設置值,而null表示將變量值設爲空。數組
實際上,不少時候undefined和null自己就是相等,即null==unfefined將返回true,如查咱們要精確區分null和undefined應該考慮使用精確等於符(===)瀏覽器
定義一個變量後,若是沒有爲該變量賦值,則該變量的值默認爲undefined,這個值是系統默認分配的,該問對象並不存在屬性時,該屬性值也將返回undefined.函數
與null不一樣的是,undefined並非javaScript的保留字,他是一個全屬變量,某些瀏覽器可能不支持undefined值,此時能夠在javascript腳本的第一行定義以下它。spa
複合類型是由多個基本數據類型組成的數據體,javascript中的複合類型大體上有以下三種:object對旬,Array數組,Function函數。設計
Javascript的數組中元素的類型能夠不相同,定義一個數組有以下三種語法格式:對象
Var a=[3,5,6];ip
Var b=[];ci
Var c=new Array();
javaScript做爲動態弱類型語言,其數組概括起來有三個物徵:
javascript數組的長度可變。
同一個數組裏數組元素的類型能夠互不相同
該問數組元素時不會產生數組越界,訪問並未賦值的數組元素時,該元素的值爲undefined.
Javascript的函數聲明中,參數列表不須要數據類型說明,函數的返回值也不須要數據類型說明。
javaScript中的函數與java中的方法有以下區別:
javascript函數無須說明返回值類型,
javascript函數無須聲明形參類型,
javascript中的函數能夠獨立存在,無須屬於任何類。
Javascript函數必須使用function關鍵字定義。
賦值語句自己是有值的,賦值語句的值就是=右邊的被賦的值,所以,賦值運算符支持連續賦值,經過使用多個賦值運算,能夠一次爲多個變量賦值。
Void運算符用於強行指定表達式不返回值以下:
A=void(b=5,c=7,d=56);
Typeof運算符用於判斷某個變量的數據類型,可做爲函數用,還能夠做爲一個運算符來有使用。與typeof相似的運算符還有instanceof,該運算符用於判斷某個變量是否爲指定類型的實例,若是是,則返回true ,不然返回false.
在javascript中,變量的做用域有全局(window對象)做用域和函數調用做用域。
如下變量具備全局做用域
1.全部在最外層定義(非函數體內定義)的變量都擁有全局做用域
2.全部末定義直接賦值的變量,系統會自動聲明爲擁有全局做用域的變量
3.全部window對象的屬性擁有全局做用域
如下變量具備函數做/用域
1.在函數體內部用var定義的變量,這裏要注意一點,只要是在函數裏定義的變量,就算是在最後一句定義,該變量也擁有整個函數的做用域。
javaScript中的函數與java中的方法區別:
一、 javaScript函數無須聲明返回值類型。
二、 javaScript函數無須聲明形參類型。
三、 javaScript中函數能夠獨立存在,無須屬於任何類。
四、 javaScript函數必須使用function關鍵字定義。
當++在操做數的右邊時,先執行算術運算,而後對操做數執行自加運算,當++在操做數的左邊時,先執行自加,而後再執行算術運算。
Void運算符用於強行指定表達式不返回值。
雖然語句塊相似於一條單獨的語句,但語句塊後不須要以分號結束。
與java不一樣的是,javaScript的異常沒有java那麼豐富,javaScript的全部異常都是Error對象,當javaScript 須要拋出異常時,老是經過throw語句拋出Error對象,以下
Throw new Error(errorString);
能夠在代碼執行過程當中拋出異常,也能夠在函數定義中拋出異常,代碼執行過程當中,一旦遇到異常,當即尋找對應的異常捕捉塊(catch塊),若是沒有對應的異常捕捉塊,異常將傳遞給瀏覽器。
概括起來,javascript異常機制與java異常機制存在以下區別:
一、 javaScript中只有一個異常類Error,無須在定義函數時聲明拋出該異常,因此沒有throws關鍵字。
二、 javaScript是弱類型語言,因此catch語句後括號裏的異常實例無須聲明類型。
三、 javaScript只有一個異常類,因此try塊後最多隻能有一個catch塊。
四、 獲取異常的描述信息是經過異常對象的message屬性,而不是經過getMessage()方法。
javaScript是一代種基於對像的腳本語言,代碼複用的單位是函數,但它的函數比結構化設計語言的函數功能更豐富。javaScript語言中函數就是一等公民,它能夠獨立存在,並且javaScript的函數徹底能夠做瓬爲一個類來使用(並且它仍是該類惟一的構造器),所以函數的功能很是豐富
函數能夠有返回值,也能夠沒有返回值。函數的返回值使用return語句返回。
javaScript提供了Function類,該類也能夠用於定義函數,Function的構造器的參數個數能夠不受限制,Function能夠接受一系列的字符串參數,其中最後一個參數是函數的執行體,執行體的各語句以分號隔開,而前面的各字符串參數則是函數的參數。
還有一種定義匿名函數的方式,能夠無須使用Function類,而是直接使用function類鍵字。