
url
location
1 2 3 4 5 6 7 8 9 10 11 12
| http: hash: "#cc" host: "localhost:9400" hostname: "localhost" href: "http://localhost:9400/video?a=1" origin: "http://localhost:9400" pathname: "/video" port: "9400" protocol: "http:" reload: function reload() replace: function replace() search: "?a=1"
|
URLSearchParams
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| const params = new URLSearchParams('?name=John&age=25');
console.log(params.get('name')); console.log(params.get('age'));
params.set('gender', 'male'); console.log(params.toString());
params.append('hobby', 'reading'); console.log(params.toString());
params.delete('age'); console.log(params.toString());
params.forEach(function(value, key) { console.log(`${key}: ${value}`); });
|
btoa
btoa 和 atob 是window对象的两个函数,其中:
btoa :是binary to ascii,用于将binary的数据用ascii码表示,即Base64的编码过程
atob:是ascii to binary,用于将ascii码解析成binary数据,即Base64的解码过程。
不支持unicode、中文,需要先处理
1 2 3 4 5 6 7 8 9 10 11 12 13
| var str = "好好学习";
var demo = btoa(encodeURIComponent(str));
console.log(demo);
var demo = 'JUU1JUE1JUJEJUU1JUE1JUJEJUU1JUFEJUE2JUU0JUI5JUEw'
var str1 = decodeURIComponent(atob(demo))
console.log(str1)
|
在使用atob和btoa这两个函数时需要注意的是,IE9是不支持的(虽然现在基本都是面向Chrome浏览器编程😊)
我们使用第三方Base64工具:webtoolkit.base64是一个第三方实现的 Base64 编码工具,完美的支持 unicode 编码的字符串。
1 2 3
| Base64.encode('中文')
Base64.decode('5Lit5paH');
|