原创 JS 函數的創建和執行機制

1. 普通函數的創建執行機制 函數作爲引用類型,也是按照引用地址來操作的。 【創建函數】 首先開闢一個新的堆內存,把函數體中的代碼當作字符串存儲在內存中(對象存儲的是鍵值對) 在當前上下文中聲明函數(變量),函數聲明和定義會提升到最

原创 JS 函數

在 JS 中,函數就是一個方法,一般都是爲了實現某個功能。 1. 函數的作用和創建 var total = 10; total += 10; total = total/2; total = total.toFixed(2); //=

原创 JS 作用域和作用域鏈

1. 作用域 作用域就是代碼的執行環境,全局執行環境就是全局作用域,函數的執行環境就是私有作用域,它們都是棧內存。 執行環境定義了變量或函數有權訪問的其他數據,決定了它們各自的行爲。每個執行環境都有一個與之關聯的變量對象,環境中定義的所有

原创 Markdown 添加 Latex 數學公式

Markdown 中添加公式 行內公式 $行內公式$ 行間公式 $$ 行間公式 $$ Latex 數學公式語法 角標(上下標) 上標 ^{} 下標 _{} 上下標命令用來放在需要插入上下標的地方,花括弧內爲上下標的內容,當角標爲單個字符時

原创 說說CSS學習中的瓶頸

前言 本文是在自己重新開始學習CSS的過程中看到的,與其說它是講如何深入學習CSS,更多的是警醒的作用,看了文章之後,才真正認清自己的浮躁,也慶幸自己回頭惡補。本文不涉及技術,但是希望大家都能看一看。 本文轉載自說說CSS學習中的瓶

原创 JS 變量提升

1. 變量提升的概念 變量提升的概念: 當棧內存(作用域)形成,JS 代碼自上而下執行之前,瀏覽器首先會把所有帶 var / function 關鍵字開頭的進行提前聲明或者定義,這種預先處理機制稱爲“變量提升”。 聲明(declare

原创 JS變量的創建機制

前言 JS 怎麼創建變量?相信大家都會: var a; function b(){} 那麼它們具體存儲在哪裏,又是怎麼運行的呢? 這次,就聊一聊 JS 的堆棧內存和變量的創建機制。(這裏只介紹 ES5 的機制) 1. 堆棧內存 在瞭解變量

原创 DOM的映射機制

前言 這在我們平常操作 DOM 的時候司空見慣。就比如:我通過獲取一個元素來改變其樣式,自然而然的反映到 HTML 頁面中。 但是,我們操作 JS 對象的時候,本質上操作的是 JS 堆內存,爲什麼會反映到頁面中呢?就是因爲瀏覽器存在這個

原创 JS 堆棧內存

堆棧內存的作用 JS 中的內存堆內存和棧內存,所有堆棧內存的處理,瀏覽器會自行在內部執行 棧內存: - 提供一個供 JS 代碼自上而下執行的環境(作用域,代碼都是在棧內存中執行的) - 由於基本類型比較簡單,它們都是直接在棧內存中開闢

原创 像素與viewport概念

一、像素的概念 px :邏輯像素 ,瀏覽器使用的抽象單位 dp、pt:物理像素 dpr:設備像素縮放比 ppi:屏幕每英寸的像素數量,即單位英寸內的像素密度 ppi 120 160 240 320 dpr 0.75 1.0 1.

原创 JS類型轉換總結

前言 JS 令人頭疼的一點就是它屬於弱類型語言,一個變量存儲的值可以是字符串、數值、布爾值或者對象等,可以隨時變更。獲取一個變量,你不會知道其存儲的值是什麼類型的,所以很多時候都需要進行類型檢測。 除了手動變更類型之外,有些情況下,JS

原创 淺談響應式

前言 由於移動設備的增多,攜帶便利,人們在移動設備上瀏覽網頁的時間不斷增加,甚至要超過PC端。但是PC端的網頁放到移動端,就會出現各種問題,如字體太小、圖片不清晰等。瀏覽體驗變得很差。於是,就有了響應式網頁的誕生。在多種設備的不同

原创 給不瞭解前端的同學講前端

前言 這篇文章,是在前幾天逛知乎的時候看到的文章,覺得很棒,正好也有這個需求,想向不瞭解前端的人介紹何爲“前端”。不然,自己所在的羣體中好像很少人能明白我一天到晚鑽研的東西是什麼。下面與大家分享。 ps:本文爲PPT演講的形式所作

原创 層疊上下文和層疊順序

引自:張鑫旭的博客 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 前言 原文是在前面對transform引起的z-index“失效”探究過程中找到的,非常棒,所以轉載分享。本文大多

原创 Canvas 畫時鐘

前言 相關幾何知識 畫鐘面函數 畫時針 畫分針秒針中心點函數 繪製真實時間 優化 前言 不管學習什麼,不動手去做,永遠不能熟練掌握。學習了 canvas API,會覺得只要按照直線、圓等畫法去畫,canvas 太簡單了。