老师请检查
来源:2-4 编程练习
我代码么问题
2021-11-21 20:26:32
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 3.应用
let url = 'https://www.imooc.com/course/list?';
let url1 ='https://www.imooc.com/course/list?username=xm';
let url2 ='https://www.imooc.com/course/list?username=xm&';
const addURLParam = (url, name, value) => {
// 在此补充代码
if (url.substr(url.length - 1) == '?' || url.substr(url.length - 1) == '&') {
url += `${name}=${value}`;
} else {
url += url.includes('?') ? '&' : '?';
url += `${name}=${value}`;
}
return url;
};
url = addURLParam(url, 'password', 'admin');
url1 = addURLParam(url1, 'password', 'admin');
url2 = addURLParam(url2, 'password', 'admin');
document.write(url,'<br>');
document.write(url1,'<br>');
document.write(url2,'<br>');
</script>
</body>
</html>
1回答
好帮手慕然然
2021-11-22
同学你好,代码实现效果是没问题的,不过建议按照任务要求使用ES6的includes方法再实现一遍,可参考如下代码:
<script>
// includes():判断字符串中是否包含某些字符
// 第二个参数:表示开始搜索的位置,默认为0
let url = 'https://www.imooc.com/course/list?';
let url1 = 'https://www.imooc.com/course/list?username=xm';
let url2 = 'https://www.imooc.com/course/list?username=xm&';
const addURLParam = (url, name, value) => {
// 先使用includes方法判断是url中否包含?
if (url.includes("?")) {
// 如果包含?, 再判断url最后一位字符是不是?或&符号,
// 是的话就拼接空字符串,不是的话就拼接&符号
// 可以通过url.substr(url.length-1,1)获取字符串最后一个字符
let end = url.substr(url.length - 1, 1);
if (end == '?' || end == '&') {
url += '';
} else {
url += '&';
}
}
// 如果不包含?, 就拼接一个?
else {
url += '?';
}
url += `${name}=${value}`;
return url;
};
url = addURLParam(url, 'password', 'admin');
url1 = addURLParam(url1, 'password', 'admin');
url2 = addURLParam(url2, 'password', 'admin');
document.write(url, '<br>');
document.write(url1, '<br>');
document.write(url2, '<br>');
</script>祝学习愉快!