文章目录
- 1 使用ES5和ES6求函数参数的和
-
- 2 解析URL Params为对象
1 使用ES5和ES6求函数参数的和
1.1 ES5
function sum() {let sum = 0;Array.prototype.forEach.call(arguments, function(item) {sum += item * 1;})return sum;
}
1.2 ES6
function sum(...nums) {let sum = 0;nums.forEach(function(item) {sum += item * 1;})return sum;
}
2 解析URL Params为对象
let url = 'http://www.domain.com/?user=anonymous&id=123&id=456&city=%E5%8C%97%E4%BA%AC&enabled';function parseParam(url) {let paramStr = /.+\?(.+)$/.exec(url)[1];let paramArr = paramStr.split('&');let paramObj = {};paramArr.forEach(function(item) {if (/=/.test(item)) {let [key, value] = item.split('=');value = decodeURIComponent(value);value = /^\d+$/.test(value) ? parseFloat(value) : value;if (paramObj.hasOwnProperty(key)) {paramObj[key] = [].concat(paramObj[key], value);} else {paramObj[key] = value;}} else {paramObj[item] = true;}})return paramObj;
}
console.log(parseParam(url));