$(function () { pageJs.urls = [ '/', 'Index', ]; pageJs.run(); }); //the functions include html elements. Ajax function also can be put here. var Common = { init: function () { alert('Common'); } }; //url--pages var Index = { init: function () { Common.init(); this.test(); this.test2(); alert(location.pathname); }, test: function () { alert('test'); } }; Index.test2 = function () { Index.test(); alert('test2'); } //should be remove to other js file, and load before this file. //the functions don't include any html elements. var Utils = { debug: function () { } }; var pageJs = { urls: [], run: function () { var urls = this.urls; alert(urls.length); if ((urls.length % 2) != 0) { throw "urls error"; } var len = urls.length / 2; for (var i = 0; i <= len; i = i + 2) { var pattern = new RegExp(urls[i], 'i'); if (pattern.test(location.pathname)) { eval(urls[i + 1] + ".init()"); break; } } } };