首页 > 编程 > JavaScript > 正文

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

2019-11-20 12:24:18
字体:
来源:转载
供稿:网友

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

var wawa = {};wawa.Router = function(){  function Router(){  }  Router.prototype.setup = function(routemap, defaultFunc){    var that = this, rule, func;    this.routemap = [];    this.defaultFunc = defaultFunc;    for (var rule in routemap) {      if (!routemap.hasOwnProperty(rule)) continue;      that.routemap.push({        rule: new RegExp(rule, 'i'),        func: routemap[rule]      });           }  };  Router.prototype.start = function(){    console.log(window.location.hash);    var hash = location.hash, route, matchResult;    for (var routeIndex in this.routemap){      route = this.routemap[routeIndex];      matchResult = hash.match(route.rule);      if (matchResult){        route.func.apply(window, matchResult.slice(1));        return;       }    }    this.defaultFunc();  };  return Router;}();var router = new wawa.Router();router.setup({  '#/list/(.*)/(.*)': function(cate, id){      console.log('list', cate, id);    },  '#/show/(.*)': function(id){      console.log('show', id);     }}, function(){  console.log('default router');});router.start();

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

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