JavaScript 实现简单前端路由的示例代码
作者:半夏时间:2026-10-30 14:31:20浏览:214
本文介绍如何使用原生JavaScript实现一个简单的前端路由。通过监听window对象的hashchange事件,结合对象映射回调函数,实现页面局部刷新与视图切换。
JavaScript 简单路由实现原理
此前网络上曾流传由开发者使用JavaScript编写的路由方案,其中部分代码逻辑令人费解。为厘清原理,作者重新编写了一个基础版本。尽管该实现面向对象的设计尚显粗糙,且结构不够严谨,但核心功能已具备。
HTML 结构与路由配置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js实现路由</title>
</head>
<body>
< a href=" " >white</ a>
< a href="#/green" >green</ a>
< a href="#/blue" >blue</ a>
< a href="#/yellow" >yellow</ a>
</body>
</html>
<script>
function Route(){
}
Route.prototype.open=function(route,callback){
var arr={};
arr[route]=callback;
window.addEventListener('hashchange',function(){
var temp=window.location.hash;
for(var i in arr){
if(i==temp.slice(1,temp.length)){
arr[i]();
}
}
})
}
window.Route=new Route();
function change(color){
var body=document.getElementsByTagName('body')[0];
body.style.backgroundColor=color;
console.log(color);
}
Route.open('/',function(){
change('');
});
Route.open('/green',function(){
change('green');
});
Route.open('/blue',function(){
change('blue');
});
Route.open('/yellow',function(){
change('yellow');
});
</script>
总结
以上即为JavaScript简单路由实现的完整内容。希望此示例能为您提供参考与帮助,欢迎继续支持本站获取更多技术分享。
作者最新文章
JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
