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 相关文章推荐
JQUERY实现左侧TIPS滑进滑出效果示例
Jun 27 Javascript
js实现鼠标经过时图片滚动停止的方法
Feb 16 Javascript
AngularJS基础知识笔记之过滤器
May 10 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 Javascript
js简单实现图片延迟加载的方法
Jul 19 Javascript
全屏滚动插件fullPage.js使用实例解析
Oct 21 Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 Javascript
微信小程序实现留言板功能
Nov 02 Javascript
JS温故而知新之变量提升和时间死区
Jan 27 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
Jun 17 Javascript
详解JavaScript 高阶函数
Sep 14 Javascript
详细聊聊浏览器是如何看闭包的
Nov 11 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
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
ant design vue中表格指定格式渲染方式
2020/10/28 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
python返回昨天日期的方法
2015/05/13 Python
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
Python如何调用JS文件中的函数
2019/08/16 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
意大利团购网站:Groupon意大利
2016/10/11 全球购物
.net C#面试题
2012/08/28 面试题
一套软件测试笔试题
2014/07/25 面试题
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
2014年学生会主席工作总结
2014/11/07 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电