小刘同学的第三十篇博文
【获得成就 • 博客日更1个月】
不知不觉已经开通博客园30天了,每天虽然不是分享一些技术方面的干货,但还是坚持写的,不过一些原则上的东西,我还是没有做好,就比如每天坚持2小时敲代码一样,虽然每天只是短短的两个小时,但还是会时不时的打折扣。。。
可能因为自己“坚持无一例外这一点没有做好吧”,最近也心神不宁的,时常陷入走神中,专注这个点,真的很难做到,不过还是慢慢来吧,包括现在走神的时候也是想的这些事,大学里实在是把太多以前高中留下的极好的品质、习惯丢掉了。
先不去想、不去看别人的生活吧,先做好这一点。

分享一段老师写的代码,主要是后续的排序算法,老师是从删除节点的后一个节点开始循环计数的,虽然看起来代码麻烦一点,思路也麻烦一些,但是效率会高出很多很多。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<button onclick="addItem()">添加爱好</button>
<ul id="myList"></ul>
<script>
var myList = document.getElementById("myList");
function addItem(){
var item = prompt("请输入兴趣");
var li = document.createElement('li');
li.appendChild(innerHTMLForSpan(myList.children.length+1));
li.appendChild(innerHTMLForSpan(item));
li.appendChild(innerHTMLForSpan("<button onclick='removeItem(this)'>删除</button>"));
myList.appendChild(li);
}
function removeItem(btn){
var next = btn.parentNode.parentNode.nextElementSibling;
var serial = parseInt(btn.parentNode.parentNode.children[0].innerHTML);
btn.parentNode.parentNode.remove();
while(next){
next.children[0].innerHTML = serial;
serial+=1;
next = next.nextElementSibling;
}
}
function innerHTMLForSpan(html){
var span = document.createElement('span');
span.innerHTML = html;
return span;
}
</script>
</body>
</html>

自己的写法就有点太low了。。

还有这个排序,当时我其实也想到了,不应该是简单的把所有节点的span重新生成1遍,可以从删除的节点后开始排的。

还是多分享下今天学到的内容吧。没有过目不忘的本事,就只能照着老师的笔记边copy边回忆。
history对象
浏览器通过地址栏地址的不同,辨别是否是新的地址,意味着评估之前的地址是否要进入历史
history.back() 跳转之前一次的历史URL
history.forward() 跳转之后一次的历史URL
history.go(n) 跳转之后(前)n次的历史URL
location对象
location.protocol 协议
location.host 域名
location.port 端口号
location.pathname 路径
location.href 链接地址
navigator对象
判断浏览器内核,做相应的处理

浙公网安备 33010602011771号