原创 JS 總結之事件循環

衆所周知,JavaScript 爲了避免複雜,被設計成了單線程。 ⛅️ 任務 單線程意味着所有任務都需要按順序執行,如果某個任務執行非常耗時,線程就會被阻斷,後面的任務需要等上一個任務執行完畢纔會進行。而大多數非常耗時的任務是網絡請求,C

原创 JS 總結之執行環境

🍓 運行環境 JavaScript 中,有三種代碼運行環境: Global 環境 Function 環境 Eval 環境 爲了表示不同的運行環境,JavaScript 中有一個執行環境的概念。 🍑 執行環境 執行環境都有三個重要的屬性

原创 JS 總結之變量對象

就如上一篇《JS 總結之閉包》中談到的,閉包的形成是變量對象和作用域鏈共同作用的結果。 什麼是變量對象?變量對象是執行環境的一個屬性,儲存在與執行環境相關的變量和函數聲明。 🥇 不同執行環境中的變量對象 根據執行環境的不同,可分爲全局執行

原创 JS 總結之閉包

從《JS 總結之函數、作用域鏈》一文中知道作用域鏈的作用,保證了對所有變量對象的有序訪問。 🐒 問題 函數外的是無法訪問函數內部的變量,有時候要用到怎麼辦?我們的主角,閉包就是可以解決這個問題。 👷 什麼是閉包 引用 MDN 上的解釋: 閉

原创 JS 總結之函數、作用域鏈

JavaScript 中,函數實際上是一個對象。 🏌 聲明 JavaScript 用 function 關鍵字來聲明一個函數: function fn () { } 變體:函數表達式: var fn = function () { }

原创 JS 總結之原型繼承方式收錄

以一個父類爲前提條件,列舉 js 繼承的繼承方式: function Person (age) { this.age = age || 18 } Person.prototype.sleep = function () { con

原创 JS 總結之class

class 是 ES6 的新特性,可以用來定義一個類,實際上,class 只是一種語法糖,它是構造函數的另一種寫法。 class Person { } typeof Person // "function" Person.prototy

原创 JS 總結之原型

在 JavaScript 中,函數也是屬於對象,可以像其他對象一樣訪問屬性,其中便有一個屬性叫原型 prototype,值爲一個對象,默認,原型有一個 constructor 屬性,指向了構造函數本身。 function Person ()

原创 JS 總結之關於 this 應該知道的幾個點

this 對每個 Jser 都不陌生,經常看到對象這裏 this 那裏 this,那什麼是 this?答案就是上下文對象,即被調用函數所處的環境,也就是說,this 在函數內部指向了調用它(它指函數函數)的對象,通俗的講,就是誰調用了函數。

原创 JavaScript總結系列之對象

對象 我們都知道,對象一般是類的實例,如 Java,Python 等這類面嚮對象語言,而 JavaScript 中沒有類,因此 JavaScript 中的對象不是類的實例,而是基於原型的對象。JavaScript 中的對象 Object 是