javascript常用函数归纳整理


Posted in Javascript onOctober 31, 2014

本文整理归纳了一些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(c1>>2);

            out+=base64EncodeChars.charAt((c1&0x3)<<4);

            out+="==";

            break;

        }

        c2=str.charCodeAt(i++);

        if(i==len){

            out+=base64EncodeChars.charAt(c1>>2);

            out+=base64EncodeChars.charAt(((c1&0x3)<<4)|((c2&0xF0)>>4));

            out+=base64EncodeChars.charAt((c2&0xF)<<2);

            out+="=";

            break;

        }

        c3=str.charCodeAt(i++);

        out+=base64EncodeChars.charAt(c1>>2);

        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|((c>>12)&0x0F));

            out+=String.fromCharCode(0x80|((c>>6)&0x3F));

            out+=String.fromCharCode(0x80|((c>>0)&0x3F));

        } else {

            out+=String.fromCharCode(0xC0|((c>>6)&0x1F));

            out+=String.fromCharCode(0x80|((c>>0)&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 (c>>4){

        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 相关文章推荐
在页面中js获取光标/鼠标的坐标及光标的像素坐标
Nov 11 Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 Javascript
js自定义鼠标右键的实现原理及源码
Jun 23 Javascript
jQuery事件绑定与解除绑定实现方法
Apr 15 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
Jun 04 Javascript
整理AngularJS中的一些常用指令
Jun 16 Javascript
jQuery的position()方法详解
Jul 19 Javascript
基于jQuery实现仿百度首页选项卡切换效果
May 29 Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 Javascript
layui富文本编辑器前端无法取值的解决方法
Sep 18 Javascript
Node.js API详解之 readline模块用法详解
May 22 Javascript
vue3+typescript实现图片懒加载插件
Oct 26 Javascript
让html页面不缓存js的实现方法
Oct 31 #Javascript
js读取cookie方法总结
Oct 31 #Javascript
jQuery获取对象简单实现方法小结
Oct 30 #Javascript
js 通过cookie实现刷新不变化树形菜单
Oct 30 #Javascript
判断字符串的长度(优化版)中文占两个字符
Oct 30 #Javascript
javascript根据时间生成m位随机数最大13位
Oct 30 #Javascript
D3.js 从P元素的创建开始(显示可加载数据)
Oct 30 #Javascript
You might like
使用adodb lite解决问题
2006/12/31 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
js css样式操作代码(批量操作)
2009/10/09 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
7个JS基础知识总结
2014/03/05 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python正则表达式re模块详解
2014/06/25 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
模具专业推荐信
2013/10/30 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
离婚律师函范本
2015/05/27 职场文书
婚宴新娘致辞
2015/07/28 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
解析MySQL索引的作用
2022/03/03 MySQL
python内置模块之上下文管理contextlib
2022/06/14 Python