首页 > 语言 > JavaScript > 正文

JS实现简单路由器功能的方法

2024-05-06 16:20:55
字体:
来源:转载
供稿:网友

这篇文章主要介绍了JS实现简单路由器功能的方法,基于javascript模拟简单路由编码的相关技巧,需要的朋友可以参考下

本文实例讲述了JS实现简单路由器功能的方法。分享给大家供大家参考。具体实现方法如下:

 

 
  1. var wawa = {}; 
  2. wawa.Router = function(){ 
  3. function Router(){ 
  4. Router.prototype.setup = function(routemap, defaultFunc){ 
  5. var that = this, rule, func; 
  6. this.routemap = []; 
  7. this.defaultFunc = defaultFunc; 
  8. for (var rule in routemap) { 
  9. if (!routemap.hasOwnProperty(rule)) continue
  10. that.routemap.push({ 
  11. rule: new RegExp(rule, 'i'), 
  12. func: routemap[rule] 
  13. });  
  14. }; 
  15. Router.prototype.start = function(){ 
  16. console.log(window.location.hash); 
  17. var hash = location.hash, route, matchResult; 
  18. for (var routeIndex in this.routemap){ 
  19. route = this.routemap[routeIndex]; 
  20. matchResult = hash.match(route.rule); 
  21. if (matchResult){ 
  22. route.func.apply(window, matchResult.slice(1)); 
  23. return;  
  24. this.defaultFunc(); 
  25. }; 
  26. return Router; 
  27. }(); 
  28. var router = new wawa.Router(); 
  29. router.setup({ 
  30. '#/list/(.*)/(.*)'function(cate, id){ 
  31. console.log('list', cate, id); 
  32. }, 
  33. '#/show/(.*)'function(id){ 
  34. console.log('show', id);  
  35. }, function(){ 
  36. console.log('default router'); 
  37. }); 
  38. router.start(); 

希望本文所述对大家的javascript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选