- 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') // "你好"
- 类数组转换数组
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指针(即宿主对象),从而使用。