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

2019-12-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程序设计有所帮助。

您可能感兴趣的文章:

  • Vue.js路由组件vue-router使用方法详解
  • angular.js之路由的选择方法
  • AngularJS 路由详解和简单实例
  • AngularJS 路由和模板实例及路由地址简化方法(必看)
  • 全面解析JavaScript的Backbone.js框架中的Router路由
  • 使用AngularJS对路由进行安全性处理的方法
  • Angularjs制作简单的路由功能demo
  • director.js实现前端路由使用实例
  • nodejs中实现路由功能
  • 轻松创建nodejs服务器(4):路由
  • js实现自定义路由

《JS实现简单路由器功能的方法.doc》

下载本文的Word格式文档,以方便收藏与打印。