var iterator = function
() ,
next: function
() ,
rewind: function
() ,
current: function
() }
} var it = iterator();
while (it.hasnext())
it.rewind();
console.log(it.current()); // 1
我們經常會用for迴圈遍歷陣列
var arr = [1,2,3,4,5],
i,max;
for(i = 0, max = arr.length; i < max; i++)
console.log(arr[i]);
} es5中又加入了 foreach(function
(value, item, array) {});
在這個裡面就不可以用break了。
可能有些同學會用forin 來遍歷陣列。千萬不要那樣做:
1、得到的index型別為string,如果你要對index進行計算就可能出錯。
2、可能會遍歷原型鏈上的屬性(要使用hasownproperty())
3、順序可能被改變。
JS版設計模式
策略模式 定義一系列的演算法,並且把它們封裝起來,而且他們可以相互替換。這裡我舉個在專案中遇到的問題,比如說要驗證乙個物件中的屬性的值是否合法,一開始我是通過不停的else if,現在想想,真的有點蠢了。var validator 配置資料 config 錯誤資訊 messages validate...
js設計模式 模版設計模式
設計模式處處透漏者前輩們的指揮,在眾多設計模式中模版設計模式是軟體設計中最常用,最正統的模式,也是本人最喜歡的模式,其就像一顆顆螺絲釘處處體現在軟體設計和其他模式中 父類定義乙個模板結構,將部分具體內容延遲到子類去實現 在軟體系統設計中最常用的就是介面 抽象類 類 設計模式,如下圖 再此模式中介面定...
設計模式 模版設計模式
模版設計模式的概念或者定義 定義乙個操作中演算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變演算法的結構即可重定義該演算法中的某些特定步驟。以前雖然經常在專案中使用模版設計模式,特別在baseactivity,basefragement,basefragementactivity,basea...