javascript常用函數(shù)歸納整理
本文整理歸納了一些js常用函數(shù),其中包括對數(shù)據(jù)操作,字符替換操作,日期及加解密操作函數(shù),還有一些簡單的驗證函數(shù)。便于大家查閱參考。相信對大家會有所幫助。
1.typeof、constructor、instanceof對數(shù)組的判斷
//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.函數(shù)自調(diào)用
console.log(a + b);//30 自調(diào)用
})(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.數(shù)字判斷
return !isNaN(parseFloat(n)) && isFinite(n);
}
console.log(isNumber('e345'));
5.數(shù)組判斷
return Object.prototype.toString.call(obj) === '[object Array]' ;
}
console.log(isArray(arr));
6.length的理解
myArray.length = 0; // myArray 會變成空數(shù)組[].----- length是可讀可寫的屬性
7、base64_encode加密,解密
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函數(shù):返回星期幾,值為0~6,其中0表示星期日,1表示星期一,...,6表示星期六。例:
{
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函數(shù):返回日期的"小時"部分,值為0~23。例。
{
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函數(shù):返回日期的"分鐘"部分,值為0~59。見上例。
(5)getMonth函數(shù):返回日期的"月"部分,值為0~11。其中0表示1月,2表示3月,...,11表示12月。見前面的例子。
(6)getSeconds函數(shù):返回日期的"秒"部分,值為0~59。見前面的例子。
(7)getTime函數(shù):返回系統(tǒng)時間。
希望本文所述對大家的javascript程序設(shè)計有所幫助。
- js常用函數(shù) 不錯
- JavaScript 常用函數(shù)庫詳解
- Jquery作者John Resig自己封裝的javascript 常用函數(shù)
- js 變量類型轉(zhuǎn)換常用函數(shù)與代碼[比較全]
- JavaScript 常用函數(shù)
- 基于prototype擴展的JavaScript常用函數(shù)庫
- javascript的數(shù)組和常用函數(shù)詳解
- javascript中數(shù)組的多種定義方法和常用函數(shù)簡介
- nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié)
- 推薦4個原生javascript常用的函數(shù)
相關(guān)文章
js實現(xiàn)點擊切換checkbox背景圖片的簡單實例
下面小編就為大家?guī)硪黄猨s實現(xiàn)點擊切換checkbox背景圖片的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05JavaScript文件的同步和異步加載的實現(xiàn)代碼
本篇文章主要介紹了JavaScript文件的同步和異步加載的實現(xiàn)代碼,具有一定的參考價值,有興趣的可以了解一下2017-08-08微信小程序?qū)崿F(xiàn)可拖動懸浮圖標(biāo)的示例代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)可拖動懸浮圖標(biāo)的示例代碼,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12JS實現(xiàn)仿Windows7風(fēng)格的網(wǎng)頁右鍵菜單效果代碼
這篇文章主要介紹了JS實現(xiàn)仿Windows7風(fēng)格的網(wǎng)頁右鍵菜單效果代碼,涉及JavaScript鼠標(biāo)右鍵響應(yīng)及動態(tài)生成頁面菜單的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09js使用navigator.userAgent判斷當(dāng)前瀏覽器所處的環(huán)境
本文主要介紹了js使用navigator.userAgent判斷當(dāng)前瀏覽器所處的環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04