《JavaScript高級程序設計》Chapter 3 基本概念

Chapter 3 基本概念

數據類型

  1. typeof 操作符:
    • undefined 未定義
    • boolean 布爾值
    • string 字符串
    • number 數值
    • object 對象/null
    • function 函數
  2. undefined 是 null 的派生值
    • 聲明變量
  3. 浮點數值(IEEE754)
    • 0.1 + 0.2 != 0.3
  4. 數值范圍
    • Number.MIN_VALUE ~ Number.MAX_VALUE
    • <: -INFINITY >: INFINITY
    • NaN: Not a Number (NaN != NaN)
  5. 數值轉換
    • Number()
    • parseInt()
    • parseFloat()
    • ES5不支持八進制字符串轉字符,會忽略前導零,可以使用基數進行進制指定:
      • var number = parseInt("070", 8); //56
  6. Object
    • var o = new Object(); // Create an Object
    • constructor: Object()
    • hasOwnProperty("propertyName")
    • isPrototypeOf(object)
    • propertyIsEnumerable("propertyName")
    • toLocaleString()
    • toString()
    • valueOf()

操作符

  1. 增減操作符

    • var s1 = "2"; s1++; // 變成數值 3
    • var s2 = "z"; s2++; // 變成NaN
    • var b = false; b++; // 變成數值1
    • var f = 1.1; f--; // 變成數值0.10000000000000009
    • 運算符重載
      var o = {
      valueOf: function() {
                        return -1;
                     }
      };
    
  2. 位運算

    • & | ~
    • << >>
    • ^ 異或 (只有一個1才返回1)
  3. 相等

    • == != 相等和不相等
    • === !== 全等和不全等
    • "55" == 55
    • "55" !== 55 (全等會比較類型和數據)

語句

  1. for-in 語句

    • for (property in expression) statement;
    • 通過for-in輸出對象的屬性的順序是不可預測的。
  2. label break continue 組合語句

  3. with 語句 (Not Recommanded)

    • 作用:將代碼的作用域設置到一個特定的對象中。
    • with (expression) statement;
    • example:
    // without with:
    var qs = location.search.substring(1);
    var hostName = location.hostname;
    var url = location.href;
    
    // use with:
    with (location) {
        var qs = search.substring(1);
        var hostName = hostname;
        var url = href;
    }
    

函數

  1. 語法

    function functionName(arg1, arg2, ...) {
        statements
    }
    
  2. 嚴格模式中...

    • 函數名不能為eval或arguments
    • 參數名不能為eval或arguments
    • 不能出現兩個命名參數同名的情況
  3. 在函數體內可以通過arguments對象訪問參數數組,從而獲取傳遞給函數的每一個參數。

    function sayHi() {
        alert("Hello" + arguments[0] + "," + arguments[1]);
    }
    

    可以利用這一特點讓函數接收任意個參數

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 有人說過,很多彎路到最后都成了直路,所有的坑到最后也都成了坦途;所謂的直路和坦途并不是擺在眼前的,都是不斷的的...
    老衲法號一眉道人閱讀 1,377評論 0 4
  • 第一章: JS簡介 從當初簡單的語言,變成了現在能夠處理復雜計算和交互,擁有閉包、匿名函數, 甚至元編程等...
    LaBaby_閱讀 1,703評論 0 6
  • 第1章 JavaScript 簡介 JavaScript 具備與瀏覽器窗口及其內容等幾乎所有方面交互的能力。 歐洲...
    力氣強閱讀 1,181評論 0 0
  • 第一章 Javascript簡介 Javascript實現 核心(ECMAScript) 文檔對象模型(DOM) ...
    江上風平浪靜閱讀 635評論 0 0
  • 看來年 夏至未至 我依然在渡口 等風也等你 到來生 秋風又起 我還是在橋頭 等雨也等你 花開花又落 春去秋又回 我...
    久卄閱讀 244評論 1 2