原创 JS專題之事件模型

本文共 1960 字,讀完只需 8 分鐘 事件 用戶與網頁交互是通過事件實現的,事件剛開始是作爲分擔服務器負載的一個手段,起初沒有統一的規範,直到 DOM2 級,網景和 IE 纔開始有各自的 API 規範。 對於事件的觸發機制,兩個公司

原创 JavaScript專題之模擬實現new

本文共 1230 字,讀完只需 5 分鐘 寫在前面 最近工作太忙,快接近兩週沒更新博客,總感覺有一些事情等着自己去做,雖然工作內容對自己提升挺大,但我總覺得,一直埋着頭走路,偶爾也需要擡起頭來,看看現在和自己的期望向是否脫軌,所以週末還

原创 JavaScript專題之模擬實現bind

本文共 1100 字,讀完只需 4 分鐘 概述 前一篇文章我們嘗試模擬實現了 call 和 apply 方法,其實 bind 函數也可以用來改變 this 的指向。bind 和 call和 apply 兩者的區別在於,bind 會返回一個被

原创 JavaScript專題之模擬實現call和apply

本文共 1320 字,讀完只需 5 分鐘 概述 JS 函數 call 和 apply 用來手動改變 this 的指向,call 和 apply 唯一的區別就在於函數參數的傳遞方式不同,call 是以逗號的形式,apply 是以數組的形式

原创 JavaScript之例題中徹底理解this

本文共 2025 字,看完只需 8 分鐘 概述 前面的文章講解了 JavaScript 中的執行上下文,作用域,變量對象,this 的相關原理,但是我後來在網上看到一些例題的時候,依然沒能全做對,說明自己有些細節還沒能掌握,本文就結合例

原创 JavaScript之按值傳遞

本文共 1200 字,讀完只需 5 分鐘 概述 參數的傳遞分爲按值傳遞和按引用傳遞,而 JavaScript 中參數的傳遞只有按值傳遞。 ECMAScript 中所有函數的參數都是按值傳遞的。 所謂按值傳遞就是: 把函數外部的值複製給函數內

原创 JavaScript之arguments

本文共 635 字,讀完只需 3 分鐘 概述 JavaScript中的函數與其他面嚮對象語言有幾個不同的地方。 沒有函數重載 有一個表示實參列表的類數組對象 arguments 一、函數重載 簡單來說,JAVA 同一個類中允許幾個函數

原创 JavaScript之this

本文共 1065 字,讀完只需 4 分鐘 概述 在 JAVA 中,this 的概念很透徹,就是指向當前對象(方法和屬性的持有者),在編譯的時候就能確定 this 指代,而由於 JavaScript 中 this 是動態綁定,或稱爲運行期綁定

原创 JavaScript之閉包

本文一共 1300 字,讀完只需 5 分鐘 概述 閉包, 可以說是每個前端工程師都聽說的一個詞,咋一看很難從字面上去理解,從而給人留下了閉包是一個重要又難以理解的概念。 但是,閉包在 JS 代碼可以說是隨處可見,閉包也只是計算機領域的一

原创 JavaScript之作用域鏈

本文共 1200 字,讀完只需 4 分鐘 概述 JavaScript 中的可執行代碼有其執行上下文,在執行上下文中,有三個重要的元素: 變量對象(variable object) 作用域鏈(scope chain) this 其中,變量

原创 JavaScript原型與原型鏈

本文共 1475 字,讀完只需 6 分鐘 一、概述 在 JavaScript 中,是一種面向對象的程序設計語言,但是 JS 本身是沒有 “類” 的概念,JS 是靠原型和原型鏈實現對象屬性的繼承。 在理解原型前,需要先知道對象的構造函數是

原创 JavaScript之變量對象

概述 JavaScript 的可執行代碼,具有執行上下文,而每個上下文包括以下 3 個屬性: 變量對象(variable object, 簡稱 VO) 作用域鏈(scope chain) this 變量對象提供了當前環境所需的變量和函數

原创 JavaScript 之執行上下文

本文共 1090 字,讀完只需 4 分鐘 概述 JavaScript 是函數式編程語言,作用域也是以函數爲單位,那麼,這些函數代碼塊是怎麼樣的順序進行的呢, JS 的可執行代碼又分爲 3 種,不同類型的代碼有不一樣的執行環境。本文就梳理有關

原创 JavaScript之變量及作用域

本文共 1700 字,讀完只需 7 分鐘 概述 變量,編程語言中我們用來模擬現實概念的工具,比方說,變量可以表示對象,數組,數字,字符。既然是工具,那麼就用工具的適用範圍,這個工具在這個適用範圍中才有效,在編程語言中,我們稱這個適用範圍叫作