原创 Javascript中的new做了什麼?

(1) 創建一個新對象; (2) 將構造函數的作用域賦給新對象(因此 this 就指向了這個新對象) ; (3) 執行構造函數中的代碼(爲這個新對象添加屬性) ; (4) 返回新對象。 var a=new A(); 1.構造函數擁

原创 JS動畫實現

實現動畫的方案主要有6種:Javascript直接實現動畫,可伸縮矢量圖形(SVG)動畫,CSS transition,CSS3 animation、Canvas動畫、requestAnimationFrame。 javascript實現

原创 鼠標拖拽功能實現

怎麼獲取一個元素的寬高: window.getComputedStyle(obj, null); // 非IE obj.currentStyle; // IE 標準盒模型和IE盒模型的相互轉化 box-sizin

原创 javascript深複製

function clone(obj){ var o; switch(typeof obj){ case 'undefined':break; case 'string':o=obj+'';break; c

原创 如何實現對一個DOM元素進行深拷貝,包括它綁定的事件

使用cloneNode,但是在元素上綁定的事件不會拷貝 克隆對象 function clone(origin) { return Object.assign({},origin); } 實現了對原始對象的克隆,但是隻能克隆原始對

原创 一個列表點擊某一個返回它的index

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/j

原创 VSCode快捷鍵

ctrl+shift+p顯示命令面板ctrl+p快速打開ctrl+shift+n打開新窗口ctrl+shift+w關閉窗口alt+方向箭頭 向箭頭方向移動行shift+alt+方向箭頭 向箭頭方向複製行ctrl+shift+k刪除行ctr

原创 構造函數的繼承(非構造函數的繼承)

構造函數的繼承 一、 構造函數綁定 第一種方法也是最簡單的方法,使用call或apply方法,將父對象的構造函數綁定在子對象上,即在子對象構造函數中加一行: function Cat(name,color){   Animal.appl

原创 前端模塊化

在ES6之前,社區制定了一些模塊加載方案,最主要的有CommonJS和AMD兩種,前者用於服務器,後者用於瀏覽器,ES6在語法層面上實現了模塊功能,成爲瀏覽器和服務器通用的模塊解決方案。 ES6模塊的設計思想是儘量靜態化,使得編譯時就能確