文章目录 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) ) ;