javascript常用函数归纳整理

  本文整理归纳了一些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程序设计有所帮助。