This article mainly introduces how to implement simple router functions in JS, and how to simulate simple routing Coding Based on javascript, for more information about how to implement simple router functions in JS, see the following example. Share it with you for your reference. The specific implementation method is as follows:
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();
I hope this article will help you design javascript programs.