原创 JS學習2--關於預解釋

<pre style="font-family: 'Source Code Pro'; font-size: 12pt; background-color: rgb(255, 255, 255);"><pre name="code" c

原创 函數閉包問題的學習

在前端面試中時常會被問到閉包這個概念,那麼閉包到底是什麼呢?怎麼去解讀這個概念呢? 其實在別的編程語言裏面有代碼塊級作用域這麼一個概念,但是在JS中,不在一個代碼塊內的變量是可以被訪問跟修改的,爲了保護這些私有變量不受外界的改變,

原创 單例模式跟構造函數模式書寫表格排序

首先簡單說下表格排序的思路: 1:首先我們要創建一個表格,然後 加上簡單的樣式 <table id="myTable" cellpadding="0" cellspacing="0"> <thead> <th>

原创 JS原型鏈問題

先上代碼 function Person(name) { this.weight = 7; this.height = 14; this.skin = "yellow";

原创 JS學習之this關鍵字

his關鍵字跟在哪定義沒關係,跟在哪執行也沒關,this的查找只遵循以下三點 1)自執行函數中的this永遠是window 2)給元素的事件綁定方法,當觸發事件執行對應方法的時候,方法中的this是當前元素

原创 DOM迴流跟重繪問題

什麼是DOM的迴流 DOM迴流(reflows)和DOM重繪(repaints) 迴流:當頁面上的結構發生改變,瀏覽器會從新的渲染我們的頁面,迴流是比較消耗性能的 迴流產生的情況 1、添加或者刪除可

原创 JS學習-原型鏈的理解

首先我們先創建一個構造函數,並創建兩個實例 function shirt(){ this.name=""; this.age=""; this.height="";

原创 call和apply的深入理解

fn.call(n,x)call裏面傳遞的第一個參數是將fn這個函數裏面的this換成n,換言之如果,fn這個函數裏面沒有this,那麼這句話就相當於fn執行。 舉個例子 function fn1() { ale

原创 手動實現數組slice方法跟splice方法

var ary2 = [1, 2, 3, 5, 4, 53, 42]; Array.prototype.slice2 = function (n, m) { var ary = [];

原创 javaScript 數據類型

數據類型分類 基礎數據類型 undefined Undefined 類型只有一個值,即特殊的 undefined。在使用 var 聲明變量但未對其加以初始化時,這個變量的值就是 undefined /* 在未申明的請求下

原创 E2E 測試框架 cypress 實踐

什麼是 Cypress? Cypress 是非常年輕但很受開發者歡迎的測試框架,mac本地開發的話不需要安裝別的依賴,npm install Cypress 即可,開箱即用,對於ES6 ES7的語法天然支持,不僅支持本地瀏覽器直

原创 JavaScript 數組方法梳理

1. 會改變自身的方法 array.copyWithin(target, start [, end = this.length]) target(必需):從該位置開始替換數據。如果爲負值,表示倒數。 start(可選):從該位

原创 DOM寬高及偏移

  假設 obj 爲某個 HTML 控件。 obj.offsetTop 指 obj 相對於版面或由 offsetParent 屬性指定的父座標的計算上側位置,整型,單位像素。 obj.offsetLeft 指 obj 相對於版

原创 含簡單鏈式調用的ajax類庫思路及寫法

在寫類庫前 我們一定要理清楚我們寫的類庫,傳遞的參數代表什麼意思 然後在封裝的時候,首先考慮的就是兼容性的問題,整體的構思 我的整體的代碼分3個模塊, 1:ajax核心模塊; 2:util幫助庫(用來解決兼容性問題) 3:鏈式寫

原创 js中的幾種繼承方式

js繼承有5種實現方式: 1、繼承第一種方式:對象冒充 function Parent(username){ this.username = username; this.hello = functio