题目描述
获取 url 中的参数
http://www.decc.com?key=1&key=2&key=3&test=4#hehe key//[1, 2, 3]
- 指定参数名称,返回该参数的值 或者 空字符串
- 不指定参数名称,返回全部的参数对象 或者 {}
- 如果存在多个同名参数,则返回数组
function getUrlParam (url, sKey) {
var result = {};
//正则\w:匹配字母、数字、下划线,等价于 [A-Za-z0-9_]
//+:一次或多次; *:零次或多次; ?:0或1个;
url.replace(/\??(\w+)=(\w+)&?/g, function (a, b, c) {
console.log(a+b+c) //a=?key=1&, b=key, c=1
if (result[b]) {
result[b] = [].concat(result[b], c);
} else {
result[b] = c;
}
});
if (sKey) {
return result[sKey] || '';
} else {
return result;
}
}
getUrlParam('http://www.decc.com?key=1&key=2&key=3&test=4#hehe','key')
//split() 方法用于把一个字符串分割成字符串数组。
"2:3:4:5".split(":") //将返回["2", "3", "4", "5"]
"|a|b|c".split("|") //将返回["", "a", "b", "c"]
//splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。
arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
//slice() 方法可从已有的数组中返回选定的元素。
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
document.write(arr.slice(2,4) + "<br />")
document.write(arr)
//注意:splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改
网友评论