前端面试题之什么是hash,以及hashchange事件?

Posted alex2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端面试题之什么是hash,以及hashchange事件?相关的知识,希望对你有一定的参考价值。

先了解下什么是hash:hash即URL中"#"字符后面的部分。
a) 使用浏览器访问网页时,如果网页URL中带有hash,页面就会定位到id(或name)与hash值一样的元素的位置;
b) hash还有另一个特点,它的改变不会导致页面重新加载;
c) hash值浏览器是不会随请求发送到服务器端的;
d) 通过window.location.hash属性获取和设置hash值。
window.location.hash值的变化会直接反应到浏览器地址栏(#后面的部分会发生变化),同时,浏览器地址栏hash值的变化也会触发
window.location.hash值的变化,从而触发onhashchange事件。
再来了解下什么是hashchange事件:
a) 当URL的片段标识符更改时,将触发hashchange事件(跟在#符号后面的URL部分,包括#符号)
b) hashchange事件触发时,事件对象会有hash改变前的URL(oldURL)和hash改变后的URL(newURL)两个属性。

 

以上是关于前端面试题之什么是hash,以及hashchange事件?的主要内容,如果未能解决你的问题,请参考以下文章

Java面试题之hashmap中用什么hash算法解决碰撞的?

前端面试题之Vue篇

前端面试题之JavaScript篇

前端面试题之浏览器原理篇

2017前端面试题之Html篇

前端面试题之渲染原理