前端技巧知识(一)
1 基础 基础 还是基础
2 扎实 扎实 还是要扎实
题目——字符串解析
解决方法
(1) 字符串拆分:利用字符串方法,将地址进行拆分。
(2)正则表达式
代码
方法一:
let url = 'https://www.baidu.com/s?wd=javascript&rsv_spt=1'
详情请移步: 原生js获取文件名 原理一致
部分代码
function urlParameter (url) {
let obj = {};
if (url.indexOf('?') < 0) return obj; // -1 表示没有找不到
let arr = obj.split('?') // 以?位分隔符拆分
url = arr[1];
arr = url.split('&')
for (let i = 0; i < arr.length; i++) {
let cur = arr[i]
curAry = cur.split('=')
obj[curAry[0]] = curAry[1]
}
return obj
}
console.log(urlParameter(url))
方法二:
function ZurlParameter (url ) {
let reg = /([^&?=]+)=([^&?=]+)/g
obj = {}
url.replace(reg, function () {
console.log(arguments)
obj[arguments[1]] = arguments[2]
})
return obj
}
console.log(ZurlParameter(obj))
小技巧:
String.prototype.MyQueryUrlParrmeter = function () {
let reg = /([^&?=]+)=([^&?=]+)/g
obj = {}
this.replace(reg, (...arg) => {
obj[arg[1]] = arg[2]
})
return obj
}
console.log(url.MyQueryUrlParrmeter())
知识点:
- 常用字符串方法的掌握情况。 indexOf、split、charAt、charCodeAt、substr、substring、slice等等,以及彼此间的区别
- 正则表达式
大公司基本都是要求将所涉及到的的相关知识点扎扎实实的打好基础