有用的函数集(持续更新)
来源:互联网 发布:阿里云合作伙伴 logo 编辑:程序博客网 时间:2024/06/06 15:49
(function() { function now() { return new Date().getTime(); } function today(format) { return someday(0, format); } function getDate(APIname,delta,format){ var date = new Date(); date["set"+APIname].call(date,date["get"+APIname] + delta); var arr = [date.getFullYear(), date.getMonth() + 1, date.getDate()]; return arr.join(format ? format : "/"); } function someday(delta, format) { return getDate("Date",delta,format); } function someMonth(delta, format) { return getDate("Month",delta,format); } function someYear(delta, format) { return getDate("FullYear",delta,format); } function random(from, to, onlyInt) { var digit = from + Math.random() * (to - from); onlyInt && (digit = digit.toFixed(0)); return digit; } function deleteTag(str){ return str.replace(/<\/?[\s\S]*?>/,""); } function Drawselect(data,config){ var selectTpl="<select id='@id' class='@class'>@content</select>"; var optionTpl="<option value='@value'>@name</option>"; var index=0; var returnStr=""; var len=data.length; while(index<len){ returnStr+=optionTpl.replace(/@value/,data[index]).replace(/@name/,data[index]); index++; } config && (returnStr=selectTpl.replace(/@id/,config.id ? config.id : "").replace(/@class/,config.class ? config.class : "").replace(/@content/,returnStr)); return returnStr; } function factorial(num){ num=Number.isInteger(num)?num:Math.floor(num) if ( num == 1 ) { return 1 } var value=num*factorial(num-1); if(value<=Number.MAX_VALUE) { return value; } else{ console.log(num) throw new Error("value error") } } function transferChar(char){ if(char.charCodeAt(0)>=65 && char.charCodeAt(0)<=90){ return char.toLowerCase() } else if(char.charCodeAt(0)>=90 && char.charCodeAt(0)<=122){ return char.toUpperCase(); } } function splitWord(str){ if(Object.prototype.toString.call(str)!="[object String]"){ return; } str=str.replace(/^\s*/,"").replace(/\s*$/,""); var result=[] var index=0; var state=0; var len=str.length; for(var i=0;i<len;i++){ result[index] || (result[index]=''); if(!/\s/.test(str[i])){ result[index]+=str[i];//transferChar(str[i]); state=0; continue; } if(state==0){ index++; } state=1 } return result;//.reverse(); } var cache={} function sort(tree,parent){ parent===undefined && (parent=0); $.each(tree,function(index,value){ cache[value.id]=value; cache[value.id].parent=parent; sort(value.children?value.children:[],value.id); //value.children=[] }) } function range(start,stop,step){ !step && (step=1); var result=[start]; while(start+step<stop){ start=start+step result.push(start) } return result; } /* var result=[] function flat(arr){ $(arr).each(function(index,value){ if(Object.prototype.toString.call(value)=="[object Array]"){ flat(value); } else{ result.push(value); } }) return result; } */ function curring(fn){var argList=Array.prototype.slice.call(arguments,1);return function(){if(arguments.length==0){fn(argList)//fn.apply({},argList)//fn(argList)也可以,但传入的函数需要有一个参数接受argList变量}else{argList=argList.concat([].slice.call(arguments));return arguments.callee}}} function uncurring() { return Function.prototype.call.bind(arguments[0]) } function splitMultipleStr(argFun) { var script ; cache['script'] ? (script = cache['script']) : (script = cache['script'] = document.createElement('script')); script.type = 'text/cyb'; script.text = argFun.toString().replace(/(\/\*|\*\/)/g,''). replace(/function \(\)\{([\s\S]*?)\}/,'$1').replace(/^\s*/,'').replace(/\s*$/,''); script.id = 'myScript'; document.body.appendChild(script); var myDom = document.getElementById('myScript'); var result = splitWord(myDom.innerHTML); return result; } function getLeaf(tree,result,key){ for(var i = 0;i<tree.length;i++){ if(tree[i].children){ getLeaf(tree[i].children,result,key) } else{ result[result.length] = key ? tree[i][key] : tree[i]; } } } this.ZYM = { now: now, someday: someday, someMonth:someMonth, someYear:someYear, today: today, random: random, deleteTag:deleteTag, Drawselect:Drawselect, factorial:factorial, transferChar:transferChar, splitWord:splitWord, sort:sort, cache:cache, range:range, curring:curring, uncurring:uncurring, splitMultipleStr:splitMultipleStr, getLeaf:getLeaf };}).call(this)
0 0
- 有用的函数集(持续更新)
- python 一些有用的功能函数(持续更新)
- 一些有用的链接(持续更新)
- 有用的adb 命令(持续更新)
- JS(二十一)有用的JS函数(持续更新)
- Web前端开发之有用的网站(持续更新)
- 对程序员很有用的网站(持续更新中)
- 一些有用的Latex模板(持续更新)
- 有用的数据挖掘学习链接(持续更新)
- 有用的机器学习链接(持续更新)
- jvm中一些有用的系统变量(持续更新)
- 一些有用的经验 持续更新
- 各种有用的网址(持续更新)
- 有用的脚本(持续更新中.......)
- Ubuntu 持续更新 有用的小命令
- 一些有用的博客(持续更新)
- 比较有用的网站整理(持续更新)
- 重载函数的生命周期(持续更新!)
- POJ 1700 Crossing River 过河问题 贪心法
- Android中的广播详解
- (OK) MPTCP - 100% OK
- 交叉编译器arm-linux-gcc
- android网络请求get方式
- 有用的函数集(持续更新)
- Spring框架的AOP/IOC/容器核心原理实例详解
- HDU 2955
- CF 37A Towers
- SQL四种语言:DDL,DML,DCL,TCL
- (OK) MPTCP - 100% OK -1- mptcp-kmsg-server.txt
- 网络流五·最大权闭合子图
- (OK) MPTCP - 100% OK -2- mptcp-kmsg-client.txt
- Spring Boot中启动HTTPS