1. 程式人生 > >JavaScript 標準參考教程(alpha)筆記

JavaScript 標準參考教程(alpha)筆記

rop body length 作用 屬性 操作 分享 數據類型 方法

JavaScript 標準參考教程(alpha)筆記

http://javascript.ruanyifeng.com/#introduction

2.1.4 n--: 先使用n再執行n=n-1; --n: 在使用n之前先執行n=n-1;

技術分享圖片技術分享圖片

2.1.5 區塊( { } )對於var命令不構成單獨的作用域,與不使用區塊的情況沒有任何區別。

2.1.6.3 若switch結構中case代碼塊內部沒有break語句,否則就會接下去執行下一個case代碼。

需要註意的是,switch語句後面的表達式,與case語句後面的表示式比較運行結果時,采用的是嚴格相等運算符(===,而不是相等運算符(==),這意味著比較時不會發生類型轉換。

2.1.6.4 表達式一定返回一個值——(https://www.zhihu.com/question/39420977/answer/81250170)

2.1.7.4 break語句用於跳出代碼塊或循環。continue語句用於立即終止本輪循環,返回循環結構的頭部,開始下一輪循環。

如果存在多重循環,不帶參數的break語句和continue語句都只針對最內層循環

break語句和continue語句怎麽帶參數:在 break / continue 後面添加一個 數字/標簽 來表示跳出 幾重循環/標簽循環,eg:break 2; /* 跳出2重循環*/;(http://wanlimm.com/77201406202191.html)

  (關於語句筆記的一個鏈接:https://www.jianshu.com/p/0ec3434f7781)

2.1.7.5 標簽相當於定位符,可以是任意的標識符,通常配合break和continue使用。

對象文字是JavaScript的突出特點之一:它們允許您直接創建對象 - 不需要任何類。

  • 對象:對象將數據存儲在屬性中。每個屬性都有一個名稱和一個值。
     var obj = {
             propName1: 123,
             propName2: "abc"
         }
         obj.propName1 = 456;
         obj["propName1"] = 456; //
    與前面的語句相同
  • 陣列
        var arr = [true, "abc", 123];
        console.log(arr[1]); // abc
        console.log(arr.length); // 3

註意:函數和數組都是對象。例如,他們可以有屬性:

    function foo() {}
    foo.bar = 123;

instanceof是一個二元操作符(運算符),它的作用是判斷其左邊對象是否為其右邊類的實例,返回boolean類型的數據。

數據類型

技術分享圖片

2.2.2 JavaScript 有三種方法,可以確定一個值到底是什麽類型。

  • typeof運算符(註意null返回object
  • instanceof運算符
  • Object.prototype.toString方法

2.2.3var 語句沒有返回值。因為 var a = 1; 是聲明語句,聲明語句不返回任何東西,所以沒有返回值。然後 a = 1; 是賦值語句,返回1。

2.2.4 如果 JavaScript 預期某個位置應該是布爾值,會將該位置上現有的值自動轉為布爾值。轉換規則是除了下面六個值被轉為false,其他值都視為true

  • undefined
  • null
  • false
  • 0
  • NaN
  • ""‘‘(空字符串)

註意,空數組([])和空對象({})對應的布爾值,都是true

JavaScript 標準參考教程(alpha)筆記