说到这个就要说说路由这个东西了,路由我的理解就是,url在页面上的映射,不同url能对应不同的页面内容(为什么不说对应不同的页面呢,因为SPA(单页面应用));
我们看看页面的url都有什么
我们能清晰的看到有我们熟悉的:protocol;hostname;port;href;origin;这几个我们熟悉的老朋友,还有我们不曾注意到的新面孔:hash;
说说我的理解:http://127.0.0.1:5500/ThreeWeel/Day04/02.html;这个东西是我们向服务器发送请求,服务器给我们返回的数据;然后浏览器把数据渲染到页面上;
而后面加锚点#;则是在已有的页面上修改文本的显示内容;通过这样理解;更换url并且会向服务器发送请求会让页面刷新;而改变锚点#则不会让页面刷新;
为什么history的go();back();forward()方法不会引起页面的刷新;
这就要理解浏览器的缓存机制:当我们使用BOM来回到上一个页面的时候;因为上一个页面已经存在于浏览器的缓存中了,所以我们直接将对应的页面资源,加载到页面上,所以并不会刷新页面;
回到hash,它就是对应url上的锚点#后面的东西
就是#后面的字符串;他的作用对同一个资源:127.0.0.1:5500/ThreeWeelDay04/02.html;进行内容的控制!;它和hashchange事件配合使用