原创 犀牛書隨手記-06

在JS中一個對象的數據屬性一般有4個特性,分別爲 值(value) 可寫性(writable) 可枚舉性(enumerable) 可配置性(configurable) 後三者的值都是布爾型 Object.getOwnProperty

原创 基於tween的個人動畫庫封裝

在做動畫之前我們需要搞清楚動畫需要哪些變量 1:起步的位置(狀態) begin 2:運動的終點 target 3:運動的距離 change=target-begin 4:運動所需的時總時間 duration 5:當前運動了多久

原创 LeetCode 算法

本文參照 LeetCode題解 裏面的例子都是用c/c++實現的,爲了學習算法,將裏面的實現方式改爲JavaScript【如果有侵權請聯繫我】 數組類的算法 Remove Element 作爲開胃菜,我當然選取了最容易的一道題目,在一個數

原创 犀牛書隨手記-05

關於對象的讀寫性 我們知道對象屬性是由鍵值對構成的,在ECMAScript5中,屬性值可以用一個或者兩個方法替代 當程序查詢存儲器屬性時會調用getter方法,其返回值就是屬性存取表達式 當程序設置一個存儲器的屬性的值時,會調用set

原创 犀牛書隨手記-01

eval()函數的理解 其使用過方法:接受一個字符串作爲參數,並將這個字符串,轉換爲可執行的js代碼執行; 值得注意的是,在這個函數中他調用變量的作用域是查找變量和定義新變量和函數的操作和局部作用域中的代碼完全一樣 例子:

原创 犀牛書隨手記 -02

關於空語句的問題; 在js中,希望多條語句當做一條語句使用時,使用複合語句(常見的循環就是),而空語句恰恰相反。 空語句在日常開發中並不是很常見,但有時候缺少有用的 舉個例子 var ary = []; ary.length = 1

原创 DOM2級事件在IE6 7 8下的兼容性問題及解決方案

對於萬惡的IE6 7 8 對於DOM2級事件的處理存在很多兼容性問題(以下所說的IE均爲 IE6 7 8) 1.在IE下的2級事件綁定使用的是attachEvent()這個方法 2.在IE下給一個事件重複綁定相同的方法,在觸發的

原创 犀牛書隨手記-03

關於Js中的對象,除了值和名字以外,每個屬性還有一些與之相關的值,稱爲“屬性特性” · 可寫 · 可枚舉 · 可配置 在ECM5之前代碼所創建的對象的屬性都是可寫,可枚舉,可配置的,但是在之後,是可以對這些屬性進行配置的 JS中對

原创 百葉窗動畫思路

相信大家都見過百葉窗動畫效果,那麼我就簡單的給大家介紹一下這個百葉窗的動畫效果是怎麼 實現的 首先 我們要創建一個大的div來承載我們切圖後的小div 我覺得 百葉窗的難點就難在 如何將一張大於切割成若干的小圖 在切割圖片之前 我們

原创 JS中面對對象的程序設計

在JS中,我們常說的面向對象,大多數情況下 指的就是原型鏈模式的編程,面向對象的編程方式 可擴展性 特別強,結構的可擴展性:只要是在類上實現個某個功能,則所有的實例都會具備這個功能。如果我們寫好一個方法了 我們可以再不改變原來代碼的情況下

原创 我的DOM庫 (持續更新)

在我的DOM庫裏目前有(目前的方法 都是兼容所有瀏覽器的) DOM.children //獲取所有的子元素 children 在IE9以下 會把空白也獲取成節點 //一個參數 獲得指定元素下的所有子類元素 //兩個參數 獲得指定

原创 犀牛書隨手記-04

在JS的繼承中,屬性的賦值操作首先是檢查原型鏈,以此來判斷是否允許賦值操作。如果o繼承自一個只讀屬性x,那麼賦值操作是不允許的。如果允許賦值操作,他也是總在原始對象上創建屬性,或者對已有的屬性賦值,而不會去修改原型鏈。即在JS中石油在查詢

原创 JS中事件處理機制

在js中事件的處理分三個階段 目標階段 捕獲階段 冒泡階段(以下未申明均爲標準瀏覽器下) 在DOM2級事件中 ele.addEventListener("click",fn1,true);//第三個參數:是否在捕獲階段處理這個事

原创 關於正則的exec方法以及字符串的replace方法

首先我們書寫一個字符串 var str="2015-08-17"; var reg=/^(\d{4})(?:-|\\|\/)(\d{1,2})(?:-|\\|\/)(\d{1,2})$/; console.log(reg.

原创 圖片延時 加載原理 及應用

關於 圖片延時加載的基本理論: 當我們瀏覽一個頁面時,我們有時候並不會看完一個網頁的所有內容,那麼我們在客戶不瀏覽完所有內容的情況下,加載完所有的圖片就會浪費流量,而且也會影響到網頁的加載時間。爲了解決這個問題,我們就設計了一種圖片延時