最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript 5 新增 Array 方法實(shí)現(xiàn)介紹

 更新時(shí)間:2012年02月06日 11:42:29   作者:  
JavaScript 5 發(fā)布有一段時(shí)間了,Array 對(duì)象新增了很多方法。但在老版本的瀏覽器上還不能使用,得益于 JavaScript 的動(dòng)態(tài)可擴(kuò)展性,我實(shí)現(xiàn)了這些方法,在此曬出來與君共勉
復(fù)制代碼 代碼如下:

/*!
* jLip JavaScript Library v0.1
*
* Copyright 2012, Lip2up (lip2up@qq.com)
* Just for free use, NO LICENSE
*/
(function() {
function extend(target, props) {
for (var m in props) {
if (target[m] === undefined) target[m] = props[m];
}
}
var fns = { every: 1, some: 2, forEach: 3, map: 4, filter: 5 },
reduceError = 'Reduce of empty array with no initial value';
function each(fn, _this, kind) {
var len = this.length, ret = kind == fns.filter ? []
: kind == fns.map ? Array(len) : undefined,
find = kind == fns.some, i, v;
for (i = 0; i < len; i++) {
if (this[i] !== undefined) {
v = fn.call(_this, this[i], i, this);
switch (kind) {
case fns.every:
case fns.some:
if (v === find) return find;
break;
case fns.map:
ret[i] = v;
break;
case fns.filter:
if (v === true) ret[ret.length] = this[i];
break;
}
}
}
return kind >= fns.forEach ? ret : !find;
}
function reduce(fn, init, right) {
var len = this.length, i, prev, inc = right ? -1 : 1;
if (len == 0 && init === undefined)
throw TypeError(reduceError);
for (i = right ? len - 1 : 0, prev = init;
prev === undefined && (right ? i >= 0 : i < len);
i += inc) {
prev = this[i];
}
if (prev === undefined && i == (right ? -1 : len))
throw TypeError(reduceError);
for (; (right ? i >= 0 : i < len); i += inc) {
if (this[i] !== undefined)
prev = fn(prev, this[i], i, this);
}
return prev;
}
extend(Array.prototype, {
every: function(fn, _this) {
return each.call(this, fn, _this, fns.every);
},
some: function(fn, _this) {
return each.call(this, fn, _this, fns.some);
},
forEach: function(fn, _this) {
return each.call(this, fn, _this, fns.forEach);
},
map: function(fn, _this) {
return each.call(this, fn, _this, fns.map);
},
filter: function(fn, _this) {
return each.call(this, fn, _this, fns.filter);
},
reduce: function(fn, init) {
return reduce.call(this, fn, init);
},
reduceRight: function(fn, init) {
return reduce.call(this, fn, init, true);
}
});
})();

相關(guān)文章

  • 關(guān)于javascript的一些知識(shí)以及循環(huán)詳解

    關(guān)于javascript的一些知識(shí)以及循環(huán)詳解

    下面小編就為大家?guī)硪黄P(guān)于javascript的一些知識(shí)以及循環(huán)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-09
  • JS選項(xiàng)卡動(dòng)態(tài)替換banner圖片路徑的方法

    JS選項(xiàng)卡動(dòng)態(tài)替換banner圖片路徑的方法

    這篇文章主要介紹了JS選項(xiàng)卡動(dòng)態(tài)替換banner圖片路徑的方法,涉及javascript操作文件css樣式的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • js 取時(shí)間差去掉周六周日實(shí)現(xiàn)代碼

    js 取時(shí)間差去掉周六周日實(shí)現(xiàn)代碼

    js 求時(shí)間差在生活中經(jīng)常會(huì)觸及到,本文整理了一些,希望可以幫助有需求的朋友可以,而起還可以實(shí)現(xiàn)去掉周六周日這些東東,廢話不多說,進(jìn)入正題
    2012-12-12
  • JavaScript中arguments和this對(duì)象用法分析

    JavaScript中arguments和this對(duì)象用法分析

    這篇文章主要介紹了JavaScript中arguments和this對(duì)象用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了arguments對(duì)象和this對(duì)象的功能、常見用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • 跨域表單提交狀態(tài)的變相判斷代碼

    跨域表單提交狀態(tài)的變相判斷代碼

    通過表單在iframe內(nèi)向一個(gè)跨域的url提交的時(shí)候,如何判斷提交成功了呢?這個(gè),基本上,很難,因?yàn)闉g覽器安全沙箱的限制,我們沒有辦法通過獲得iframe內(nèi)部不同域頁(yè)面的信息。
    2009-11-11
  • D3.js實(shí)現(xiàn)餅圖,環(huán)圖,玫瑰圖的繪制

    D3.js實(shí)現(xiàn)餅圖,環(huán)圖,玫瑰圖的繪制

    這篇文章主要為大家介紹了如何利用D3.js中的d3.pie和d3.arc實(shí)現(xiàn)餅圖、環(huán)圖和玫瑰圖的繪制,文中的實(shí)現(xiàn)方法講解詳細(xì),感興趣的可以嘗試一下
    2022-11-11
  • JavaScript 滾輪事件使用說明

    JavaScript 滾輪事件使用說明

    用過 Google 地圖的人可能都很熟悉,通過滾動(dòng)滾輪可以對(duì)地圖進(jìn)行縮放,非常地方便。適當(dāng)?shù)厥褂脻L輪事件可以帶來不錯(cuò)的用戶體驗(yàn)。
    2010-03-03
  • 給easyui的datebox控件添加清空按鈕的實(shí)現(xiàn)方法

    給easyui的datebox控件添加清空按鈕的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄oeasyui的datebox控件添加清空按鈕的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • Bootstrap 3 按鈕標(biāo)簽實(shí)例代碼

    Bootstrap 3 按鈕標(biāo)簽實(shí)例代碼

    這篇文章主要介紹了Bootstrap 3 按鈕標(biāo)簽實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • 全解跨域請(qǐng)求問題處理方法及分析

    全解跨域請(qǐng)求問題處理方法及分析

    這篇文章主要為大家介紹了全解跨域請(qǐng)求問題處理方法及分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2023-07-07

最新評(píng)論

望谟县| 崇信县| 会理县| 富阳市| 马鞍山市| 自贡市| 静安区| 康马县| 昂仁县| 页游| 惠东县| 嘉峪关市| 芮城县| 福建省| 广西| 河津市| 逊克县| 罗定市| 家居| 金昌市| 大田县| 宜丰县| 金寨县| 本溪| 舒兰市| 九江市| 泌阳县| 婺源县| 和平县| 福清市| 聊城市| 太仆寺旗| 聂荣县| 鲁山县| 高碑店市| 时尚| 西乌珠穆沁旗| 贺兰县| 龙州县| 绥化市| 嫩江县|