2.1、 重學前端-筆記

JS部分

1、undefined和null
首先js的undefined是一個變量,并非關鍵字,是一個設計失誤。undefined表示從未賦值的自然狀態,null表示定義了但是是空。
2、字符串是UTF16
3、number(264-253+3),符合IEEE745雙精度浮點數
4、Symbol,一切非字符串的對象key的合集


    var o = new Object

    o[Symbol.iterator] = function() {
        var v = 0
        return {
            next: function() {
                return { value: v++, done: v > 10 }
            }
        }        
    };

    for(var v of o) 
        console.log(v); // 0 1 2 3 ... 9

5、類型判定和轉換


image.png

判斷數組的方法

// 裝箱轉換,基本類型轉換為對應的對象,Array天生是對象
1. arr isntanceof Array
2.arr.__proto__  === Array.prototype
// 每一類裝箱對象皆有class屬性
3.  arr.constructor === Array
4.  Object.prototype.toString.call(arr) === '[object Array]'
5.  Array.isArray(arr)

6、js對象兩類屬性
數據屬性:value\writable\enumerable/configurable
訪問器屬性:getter\setter\enumerable/configurable

7、js原型
Object.create 根據指定的原型創建新對象,原型可以是 null;
Object.getPrototypeOf 獲得一個對象的原型;Object.setPrototypeOf 設置一個對象的原型。

8、內置對象


image.png

9、事件循環,宏任務,微任務
Promise 產生的是 JavaScript 引擎內部的微任務,而 setTimeout 是瀏覽器 API,它產生宏任務。

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

推薦閱讀更多精彩內容

  • 面向對象的語言有一個標志,那就是它們都有類的概念,而通過類可以創建任意多個具有相同屬性和方法的對象。ECMAScr...
    DHFE閱讀 992評論 0 4
  • 概要 64學時 3.5學分 章節安排 電子商務網站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,281評論 0 3
  • 序 從最近的js入門系列的閱讀量逐步遞減,觀眾老爺的興趣也不再能夠接受一些細節性的地方深度挖掘,讓我有了一些思考。...
    zhaolion閱讀 1,626評論 5 19
  • 第一章 錯誤處理: 錯誤: 程序運行過程中,導致程序無法正常執行的現象(即bug) 現象: 程序一旦出錯,默認會報...
    fastwe閱讀 1,135評論 0 1
  • 首先一個是對JS中Object的理解:JavaScript中函數是一等公民,寫在代碼中的 Array/Object...
    皮皮坤666閱讀 1,704評論 0 3