原创 [轉] 瀏覽器渲染頁面的過程

 當了解web訪問原理後,與前端工程師或頁面重構師工作更爲關係密切的應該是瀏覽器,WEB 頁面運行在各種各樣的瀏覽器當中,瀏覽器載入、渲染頁面的速度直接影響着用戶體驗, 特別是瀏覽器渲染頁面的原理,頁面渲染就是瀏覽器將 HTML 代碼根據

原创 [轉]各個瀏覽器的內核

  所謂的“瀏覽器內核”無非指的是一個瀏覽器最核心的部分——“Rendering Engine”,直譯這個詞彙叫做“渲染引擎”,不過我們也常稱其爲“排版引擎”、“解釋引擎”。這個引擎的作用是幫助瀏覽器來渲染網頁的內容,將頁面內容和排版代碼轉

原创 JavaScript閉包中的循環

創建閉包(closures)的方式:在一個函數內部創建另一個函數 閉包:函數內部的函數有權訪問函數作用域的變量 實例1: for(var i = 0; i < 10; i++) { setTimeout(function() {

原创 js的promise應用

1.異步加載圖片 function loadImageAsync(url){ return new Promise(function (resolve,reject){ var img=new Image();

原创 實現兼容版本的element.dataset

爲了實現頁面的懶加載,我們常常需要實現使用自定義的屬性。詳見點擊打開鏈接爲了獲取自定義的屬性,我們常常需要element.dataset屬性。如下代碼實現兼容版本的element.dataset屬性。實現思路:1.對於兼容element.

原创 webpack.config.js中mudule的配置

mudule是對於不同的模塊的處理規則。module的rules屬性代表不同的處理規則。rules是一個對象。對象的屬性有test、use、exclude、include。use屬性是對象數組。數組的話,是從後往前解析。對象的參數爲loa

原创 js中的函數只有一次有效調用的三種常用方法

 如何讓js中的函數只被執行一次?我們有時候會有這種需求,即讓一個函數只執行一次,第二次調用不會返回任何有價值的值,也不會報錯。下面將通過三個小demo展示使用的方法,當做個人筆記。1.通過閉包來實現。 <script>

原创 web開發中會話跟蹤方式整理

Web服務器使用Http協議。Http是無狀態協議。Http的web服務器不能保持與客戶端的關聯。會話(session)定義爲在一段時間內,單一客戶與web服務器之間的一系列的交互。在一個會話中,跟蹤請求之間的數據成爲會話跟蹤。1. 使用

原创 JavaScript函數參數的傳遞

js函數參數的傳遞方式是值傳遞。 基本類型的值傳遞的是變量的值 引用類型傳遞的是內存地址 實例如下: var num = 10, name = "Addy Osmani", obj1 = { value: "

原创 JS異步實現Generator

一、Symbol數據類型       ES6中新增加了Symbol數據類型。       原生具有[Symbol.iterator]屬性的數據類型:數組、類數組、map、set、       具有[Symbol.iterator]屬性的對

原创 閉包中變量值的改變

1.對於閉包中的變量是怎麼回事? function makeCounter() { var i = 0; console.log(i); return function(){ console.log

原创 javascript實現堆排序

堆排序堆是具有以下性質的完全二叉樹:每個結點的值都大於或等於其左右孩子結點的值,稱爲大頂堆;或者每個結點的值都小於或等於其左右孩子結點的值,稱爲小頂堆。如下圖: function heapSort(arr) { for(va

原创 webpack 之打包圖片

 我們可以使用webpack打包圖片。打包的具體步驟如下:1.打包圖片時我們需要file-loader。安裝flie-loader。npm install --save-dev file-loader2.配置webpack.fig.js

原创 JavaScript的作用域和變量提升

1.變量域 js中只有函數作用域(local scope)和全局作用域(global scope),沒有塊級作用域 2.變量提升 對於val定義的變量和function a(){} ,存在變量提升。 注意:函數表達式不存在變量提升。

原创 button元素與input元素的區別

一、button元素        1.type屬性爲button、reset、submit。        2.button元素在瀏覽器中的默認值不同,一定要明確指定button類型(IE中爲button,其他瀏覽器爲submit)