本文整理归纳了一些js常用函数,其中包括对数据操作,字符替换操作,日期及加解密操作函数,还有一些简单的验证函数。便于大家查阅参考。相信对大家会有所帮助。
1.typeof、constructor、instanceof对数组的判断
复制代码 代码如下:var arr = [1,5,6,9,8,5,4];
//var arr = new Array(1,5,6,9,8,5,4);
console.log(typeof arr);//object
console.log(arr.constructor());//[]
console.log(arr instanceof Array);//true
2.函数自调用
复制代码 代码如下:(function (a, b) {
console.log(a + b);//30 自调用
})(10, 20);3.去除两边空格
function trim (str) {
return str.replace(/^s+|s+$/g, '');
}
console.log(' woshi sss ');// woshi sss
console.log(trim(' woshi sss '));//woshi sss
4.数字判断
复制代码 代码如下:function isNumber(n){
return !isNaN(parseFloat(n)) && isFinite(n);
}
console.log(isNumber('e345'));
5.数组判断
复制代码 代码如下:function isArray(obj){
return Object.prototype.toString.call(obj) === '[object Array]' ;
}
console.log(isArray(arr));
6.length的理解
复制代码 代码如下:var myArray = [12 , 222 , 1000 ];
myArray.length = 0; // myArray 会变成空数组[].----- length是可读可写的属性
7、base64_encode加密,解密
复制代码 代码如下:function base64encode(str){
var out,i,len,base64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var c1,c2,c3;
len=str.length;
i=0;
out="";
while(i<len){
c1=str.charCodeAt(i++)&0xff;
if(i==len){
out+=base64EncodeChars.charAt(c12);
out+=base64EncodeChars.charAt((c1&0x3)<<4);
out+="==";
break;
}
c2=str.charCodeAt(i++);
if(i==len){
out+=base64EncodeChars.charAt(c12);
out+=base64EncodeChars.charAt(((c1&0x3)<<4)|((c2&0xF0)4));
out+=base64EncodeChars.charAt((c2&0xF)<<2);
out+="=";
break;
}
c3=str.charCodeAt(i++);
out+=base64EncodeChars.charAt(c12);
out+=base64EncodeChars.charAt(((c1&0x3)<<4)|((c2&0xF0)4));
out+=base64EncodeChars.charAt(((c2&0xF)<<2)|((c3&0xC0)6));
out+=base64EncodeChars.charAt(c3&0x3F);
}
return out;
}
function base64decode(str){
var c1,c2,c3,c4,base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);
var i,len,out;
len=str.length;
i=0;
out="";
while(i<len){
/* c1 */
do{
c1=base64DecodeChars[str.charCodeAt(i++)&0xff];
}while(i<len&&c1==-1);
if(c1==-1) break;
/* c2 */
do{
c2=base64DecodeChars[str.charCodeAt(i++)&0xff];
}while(i<len&&c2==-1);
if(c2==-1) break;
out+=String.fromCharCode((c1<<2)|((c2&0x30)4));
/* c3 */
do{
c3=str.charCodeAt(i++)&0xff;
if(c3==61) return out;
c3=base64DecodeChars[c3];
}while(i<len&&c3==-1);
if(c3==-1) break;
out+=String.fromCharCode(((c2&0XF)<<4)|((c3&0x3C)2));
/* c4 */
do{
c4=str.charCodeAt(i++)&0xff;
if(c4==61) return out;
c4=base64DecodeChars[c4];
}while(i<len&&c4==-1);
if(c4==-1) break;
out+=String.fromCharCode(((c3&0x03)<<6)|c4);
}
return out;
}
function utf16to8(str){
var out,i,len,c;
out="";
len=str.length;
for (i=0;i<len;i++){
c=str.charCodeAt(i);
if((c>=0x0001)&&(c<=0x007F)){
out+=str.charAt(i);
} else if(c>0x07FF){
out+=String.fromCharCode(0xE0|((c12)&0x0F));
out+=String.fromCharCode(0x80|((c6)&0x3F));
out+=String.fromCharCode(0x80|((c0)&0x3F));
} else {
out+=String.fromCharCode(0xC0|((c6)&0x1F));
out+=String.fromCharCode(0x80|((c0)&0x3F));
}
}
return out;
}
function utf8to16(str){
var out,i,len,c;
var char2,char3;
out="";
len=str.length;
i=0;
while(i<len){
c=str.charCodeAt(i++);
switch (c4){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
// 0xxxxxxx
out+=str.charAt(i-1);
break;
case 12:
case 13:
// 110x xxxx 10xx xxxx
char2=str.charCodeAt(i++);
out+=String.fromCharCode(((c&0x1F)<<6)|(char2&0x3F));
break;
case 14:
// 1110 xxxx 10xx xxxx 10xx xxxx
char2=str.charCodeAt(i++);
char3=str.charCodeAt(i++);
out+=String.fromCharCode(((c&0x0F)<<12)|((char2&0x3F)<<6)|((char3&0x3F)<<0));
break;
}
}
return out;
}
8、日期时间
getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,...,6表示星期六。例:
复制代码 代码如下:function DateDemo()
{
var d, day, x, s = "Today is: ";
var x = new Array("Sunday", "Monday", "Tuesday");
var x = x.concat("Wednesday","Thursday", "Friday");
var x = x.concat("Saturday");
d = new Date();
day = d.getDay();
return(s += x[day]);
}
(3)getHouse函数:返回日期的"小时"部分,值为0~23。例。
复制代码 代码如下:function TimeDemo()
{
var d, s = "The current local time is: ";
var c = ":";
d = new Date();
s += d.getHours() + c;
s += d.getMinutes() + c;
s += d.getSeconds() + c;
s += d.getMilliseconds();
return(s);
}
(4)getMinutes函数:返回日期的"分钟"部分,值为0~59。见上例。
(5)getMonth函数:返回日期的"月"部分,值为0~11。其中0表示1月,2表示3月,...,11表示12月。见前面的例子。
(6)getSeconds函数:返回日期的"秒"部分,值为0~59。见前面的例子。
(7)getTime函数:返回系统时间。
希望本文所述对大家的javascript程序设计有所帮助。
javascript,常用,函数
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]