書薄記--JavaSctipt高級程序設計章三(基本概念)

語法
  區分大小寫
  標識符:以 字母,_ ,$開頭,其它字符能夠是字母,_,美圓符號或數字。
  命名方式:推薦駝峯大小寫方式。
  註釋:// 單行      /**  多行   **/

  語句:類Cjava

  關鍵字:瀏覽器

  break  else new var case finally return void catch for switch while continue function this with函數

  default if throw delete in try do instanceof typeof測試

  保留字:this

  abstract enum int short boolean export interface static byte extends long super char final native spa

  synchronized class float package throws const goto private transient debugger implements protected volatiledebug

  double import publicorm

變量:對象

  鬆散類型:繼承

   var i = 1; i = "msg";

   function test() { msg = "xxx";//將定義全局變量  }

數據類型:

   typeof 操做符(不是函數!!!) :

      對一個值使用typeof操做符可能返回下列某個字符串

      "undefined" -- 該值未定義

       "boolean" -- 布爾值

       "string" -- 字符串

       "number" -- 數值

       "object" -- 對象或null

       "function" -- 函數

  Undefined 類型

   只需記住一點:對未初始化和未聲明的變量執行typeof操做符,都返回"undefined"。

  Null類型

    只有一個值null。

    typeof null//"object"

    alert(null == undefined);//true

    null與undefined之間的相等操做盡管老是返回"true",但兩都用途徹底不一樣。

    無需將任何變量的值顯示設爲undefined,但能夠對變量設爲null,表示將保存對象。

  Boolean類型

  只有兩值:true和false。

  其它類型與該類型的轉換:

     String   任何非空字符(true)     ""(false)

     Number   任何非零數字值(包括無窮大)(true)     0和NaN(false)

     Object   任何對象(true)                     null (false)

     Undefined     n/a(true)                     undefined(false)

  在if判斷中,以上值將自動轉換。

   

  Number類型

    規則字面量大多與Java相似,但:

    永遠不要測試某個特定的浮點數值,如 if( a + b == 0.3) //永遠不要作這樣的測試!!!!

    Number.MIN_VALUE 最小值,大多瀏覽器中爲5e-324。

    Number.MAX_VALUE 最大值,大多數瀏覽器中爲1.7976931348623157e+308。

    超出範圍將自動轉換爲 Infinity(無窮,分正負)

    可用isFinite()函數測試是否位於數值範圍間。

    NaN(Not a Number),即非數字。

       非同尋常的特色:

         1。任何涉及NaN的操做都返回NaN

         2。NaN與任何值都不相等 alert(NaN == NaN) //false

    isNaN()函數:

         接受任意對象,會嘗試轉換成數值,不能被轉換成數值的值,返回false。

        如:alert(isNaN(NaN))//true

           alert(isNaN(10)) //false

           alert(isNaN("abc")) // true

           alert(isNaN(false))) // false

        對於對象類型的測試:先嚐試valueOf() 失敗 ? -> toString();

        parseInt,parseFloat以及轉換,看書!!  

String類型

   類java : 字面量,不可變,toString()。

   例外:

       '123' 與 "123"定義字符串,無區別。

      null與undefined無toString();

      toString(),可傳參數。調用數值的toString()方法,能夠輸出二進制,八進制,十六進制,及其它任何有效進制。

               num.toString(2);

               num.toString(8);

Object類型

   var o = new Object();

   var o = new Object;//有效,但不推薦

   var o = {};

   概念與java中Object相似,是全部對象類型的基類。

   constructor -- 保存着用於建立當前對象的函數,對前例而言 就是 Object();

   hasOwnProperty(propertyName) -- 檢測當前對象是否存在訪屬性(非存在於實例原型中),參數必須爲字符串。

   isPrototypeOf(object) -- 傳入的對象是不是另外一個對象的原型。

   propertyIsEnumerable(propertyName) -- 檢查給定屬性是否能使用 for-in語句枚舉。規則與hasOwnProperty一致。

   toString() -- ....

   valueOf() -- ....。

   例外:

       IE中,只有開發人員自定義的對象才繼承自Object,所用BOM,DOM與這裏介紹的不一樣。

操做符  

   大多與c,java中的規則相似。但

   特別的:

    ++,-- :

        可用於非數字類型,規則以下:

        用於非數字類型時,會將該類型轉換成數字再運算。

   == ,=== :

        == :不一樣類型的變量也能夠比較,變量間會強制轉換,會嘗試轉換成數字再比較。

             對於對象類型則是是否指向同一對象。

        === : 不進行類型轉換的比較。不一樣的數據類型比較,必定不相等。其它規則同 == 。

   with :  with (expr) statement 將代碼的做用域設置到一個特定對象中。

相關文章
相關標籤/搜索