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 相关文章推荐
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
Dec 06 Javascript
jquery控制select的text/value值为选中状态
Jun 03 Javascript
jquery中 $.expr使用实例介绍
Jun 09 Javascript
JS数组array元素的添加和删除方法代码实例
Jun 01 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
Sep 14 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
详解vue与后端数据交互(ajax):vue-resource
Mar 16 Javascript
收藏AngularJS中最重要的核心功能
Jul 09 Javascript
小程序清理本地缓存的方法
Aug 17 Javascript
node使用Mongoose类库实现简单的增删改查
Nov 08 Javascript
8 个有用的JS技巧(推荐)
Jul 03 Javascript
使用Canvas绘制一个游戏人物属性图
Mar 25 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
PHP中英混合字符串截取函数代码
2011/07/17 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
php输出图像的方法实例分析
2017/02/16 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
django启动uwsgi报错的解决方法
2018/04/08 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python多线程同步实例教程
2019/08/11 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
企业办公室主任岗位职责
2014/02/19 职场文书
个人投资合作协议书
2014/10/12 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
白银帝国观后感
2015/06/17 职场文书
vue实现同时设置多个倒计时
2021/05/20 Vue.js