本文实例讲述了JS实现简单路由器功能的方法。分享给大家供大家参考。具体实现方法如下:
rush: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程序设计有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。