JavaScript常用函数整理

  1. Base64编码解码
//JavaScript 原生提供两个 Base64 相关的方法。
//btoa():任意值转为 Base64 编码
//atob():Base64 编码转为原来的值
var string = 'Hello World!';
btoa(string) // "SGVsbG8gV29ybGQh"
atob('SGVsbG8gV29ybGQh') // "Hello World!"
btoa('你好') // 报错 这两个方法不适合非 ASCII 码的字符
//-----------------分隔线---------------
function b64Encode(str) {
  return btoa(encodeURIComponent(str));
}

function b64Decode(str) {
  return decodeURIComponent(atob(str));
}

b64Encode('你好') // "JUU0JUJEJUEwJUU1JUE1JUJE"
b64Decode('JUU0JUJEJUEwJUU1JUE1JUJE') // "你好"
  1. 类数组转换数组
var toArray = function(s){
    try{
        return Array.prototype.slice.call(s);
    } catch(e){
        var arr = [];
        for(var i = 0,len = s.length; i < len; i++){
            //arr.push(s[i]);
               arr[i] = s[i];  //据说这样比push快
        }
         return arr;
    }
}
//类数组的概念: 
//(1)拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解); 
//(2)不具有数组所具有的方法,,不能直接使用上面的方法,但是可以间接通过call方法改变this指针(即宿主对象),从而使用。

猜你喜欢

转载自blog.csdn.net/Csoap2/article/details/84104841