mirror of
https://github.com/jashkenas/backbone.git
synced 2026-01-23 13:58:06 -05:00
Optimize regular expressions. The capture groups aren't needed/used; the character classes will do the job just fine.
Also, normalize the use of quotation-marks (change `"` to `'`' where appropriate).
This commit is contained in:
12
backbone.js
12
backbone.js
@@ -638,8 +638,8 @@
|
||||
|
||||
// Cached regular expressions for matching named param parts and splatted
|
||||
// parts of route strings.
|
||||
var namedParam = /:([\w\d]+)/g;
|
||||
var splatParam = /\*([\w\d]+)/g;
|
||||
var namedParam = /:[\w\d]+/g;
|
||||
var splatParam = /\*[\w\d]+/g;
|
||||
var escapeRegExp = /[-[\]{}()+?.,\\^$|#\s]/g;
|
||||
|
||||
// Set up all inheritable **Backbone.Router** properties and methods.
|
||||
@@ -687,9 +687,9 @@
|
||||
// Convert a route string into a regular expression, suitable for matching
|
||||
// against the current location hash.
|
||||
_routeToRegExp : function(route) {
|
||||
route = route.replace(escapeRegExp, "\\$&")
|
||||
.replace(namedParam, "([^\/]*)")
|
||||
.replace(splatParam, "(.*?)");
|
||||
route = route.replace(escapeRegExp, '\\$&')
|
||||
.replace(namedParam, '([^\/]*)')
|
||||
.replace(splatParam, '(.*?)');
|
||||
return new RegExp('^' + route + '$');
|
||||
},
|
||||
|
||||
@@ -855,7 +855,7 @@
|
||||
// a new one to the browser history.
|
||||
_updateHash: function(location, fragment, replace) {
|
||||
if (replace) {
|
||||
location.replace(location.toString().replace(/(javascript:|#).*$/, "") + "#" + fragment);
|
||||
location.replace(location.toString().replace(/(javascript:|#).*$/, '') + '#' + fragment);
|
||||
} else {
|
||||
location.hash = fragment;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user