天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

犀利的js 函數(shù)集合

那么分享幾個(gè)理想狀態(tài)的js原型函數(shù)。大部分整理修改自月影的blog
另外推薦一下月影的書――"王者歸來",如果你每周js的coding時(shí)間大于5小時(shí),還是值得一讀的。
1.函數(shù)膠水,有很多同學(xué)用jq用習(xí)慣了,有時(shí)就為一個(gè)類似于c#里的event+=delegate而用jq,似乎有點(diǎn)劃不來,這幾原型函數(shù)就夠了。
復(fù)制代碼 代碼如下:
Function.prototype.$concat = function(){
var funcs = [this].concat(Array.apply([], arguments));
return function(){
var ret = [];
for(var i = 0; i < funcs.length; i++){
var func = funcs[i] instanceof Function ? funcs[i] : new Function(funcs[i]);
ret.push(func.apply(this, arguments));
}
return ret;
}
}
//var concat = (function a(a){
// alert("a:"+a);
//}).$concat(function b(b){
// alert("b:"+b);
//});
//concat(1);

2.函數(shù)柯靈化,柯靈化是面向函數(shù)式語言的一個(gè)重要特性,和大部分人所持有的面向過程的編程思想?yún)^(qū)別很大,就我愚見,日常工作中,函數(shù)柯靈化除了能把一些代碼寫得優(yōu)雅(或許還有詭異)以外,不是特別的"必要"。
復(fù)制代碼 代碼如下:
Function.prototype.$curry=function(){
with({that:this})
return function()
{
var args = Array.prototype.slice.call(arguments);
if(args.length<that.length)
{
return function(){
var _args = args.concat(Array.prototype.slice.call(arguments));
return that.$curry().apply(this,_args);
}
}
else return that.apply(this,args);
}
}
//var curry=(function f(a,b,c){
// alert([a,b,c]);
// }).$curry();
//curry(1)(2)(3);
//curry(1,2)(3);

3.對(duì)象閉包。這個(gè)詞是我造的,不過看一下注釋里的調(diào)用便可以理解,這個(gè)函數(shù)原本是為了證明with和閉包的等價(jià)性,但卻提供了一個(gè)極有價(jià)值的模式。
復(fù)制代碼 代碼如下:
Function.prototype.$bind=function(object){
var callback = function () {
return arguments[0];
}
with(object){
return eval('callback(' + this.toString() + ')');
}
}
//var obj = {a:1,b:2};
//var bind=(function (){
// a=10;
// b=11;
//}).$bind(obj);
//bind();
//alert(obj.a);

4. string.Format。怕是很多js coder都想有一個(gè)c#(Java類似)里的string.Format方法,其實(shí)一點(diǎn)也不麻煩。
復(fù)制代碼 代碼如下:
String.prototype.$format=function(){
var ret;
for(var i=1;i<arguments.length;i++){
var exp = new RegExp('//{' + (i-1) + '//}','gm');
ret = (ret||this).replace(exp,arguments[i-1]);
}
return ret;
}
//alert("{0},{1},{4}".$format(0,1,2));

以后有機(jī)會(huì)還會(huì)陸續(xù)分享一些這樣犀利的函數(shù)。暫且給些函數(shù)合計(jì)取個(gè)名字,就叫 p.js 吧。

JavaScript技術(shù)犀利的js 函數(shù)集合,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人免费精品视频 | xxxxxx日本处大片免费看 | 中文字幕一区二区视频 | 亚洲精品卡2卡3卡4卡5卡区 | 狠狠色狠狠色综合日日92 | 国产强奷糟蹋漂亮邻居在线观看 | 动漫美女禁区 | 国产成人免费观看在线视频 | 久久久97人妻无码精品蜜桃 | 久久国产乱子伦精品免费M 久久国产露脸老熟女熟69 | 97久久国产露脸精品国产 | 精品视频免费在线观看 | 九九免费的视频 | 2021全国精品卡一卡二 | 少妇伦子伦精品无码 | 成人免费肉动漫无遮网站 | 无遮18禁在线永久免费观看挡 | 日本aaaa| 亚洲中文字幕日本在线观看 | 67194成在线观看免费 | 思思99热久久精品在线6 | 女人和男人插曲视频大全 | 精品无码久久久久久久动漫 | 午夜影院和视费x看 | 久久99热这里只有精品66 | 久久综合狠狠综合久久综合88 | 久久久高清国产999尤物 | 98久久人妻少妇激情啪啪 | 西施打开双腿下面好紧 | 大地影院在线播放 | 啪啪漫画无遮挡全彩h同人 啪啪激情婷婷久久婷婷色五月 | yellow免费影视大全 | 亚洲成人免费 | 无码AV精品一区二区三区 | 亚洲精品无夜久久久久久久久 | 碰超成人在线公开免费视频 | 性欧美xxxxporn | 欧美性狂猛bbbbbbxxxx | 国产普通话精品久久 | 处88XXX| 久久亚洲伊人中字综合精品 |