function Route(method, path, callbacks, options) {
options = options || {};//左边的options和右边的options不一样的吧?
this.path = path;
this.method = method;
this.callbacks = callbacks;
this.regexp = utils.pathRegexp(path
, this.keys = []
, options.sensitive
, options.strict);
}
先反对上面 theWalker答案里面 全局创建变量。
//左边的options和右边的options不一样的吧?
先解释这句话, 是一样的,都是这个func里面局部变量。
这里作用前面说到了,就是初始化变量,为什么这么做,为了减少下面的判断,后者说是为了保证一些基本逻辑能执行。
例如这里如果不写 options = options || {}
那么当你执行 Route(1,2,3)的时候
就会报错
报错的地方在 options.sensitive options.strict
Cannot read property 'sensitive' of undefined
你可以试试。