Я заметил, что могу получить доступ к свойствам функции, Рутер, возвращаемой Рутером, используя «это». Мое понимание SetPrototypeof - это наследование. Я не понимаю, как свойства внутренней функции вводят в «This»? < /P>
function Ruter(options) {
const opts = options || {};
function ruter(req, res, next) {
ruter.handler(req, res, next);
}
Object.setPrototypeOf(ruter, this);
ruter.params = {};
ruter.stack = [];
ruter.store = {};
ruter.iname = "Local Function";
console.log(this);
return ruter;
}
Ruter.prototype = function () {}
Ruter.prototype.param = function param(name, fn) {
let params = this.params[name];
console.log(this);
if(!params) {
params = this.params[name] = [];
}
params.push(fn);
return this;
}
Ruter.prototype.handler = function handler(req, resp) {
console.log("This is handler");
}
let ruter = new Ruter();
ruter.param("id", () => console.log("Way maker"));
console.log(ruter);
console.log(ruter.iname);
console.log(ruter.params)
Подробнее здесь: https://stackoverflow.com/questions/796 ... -prototype
Object.SetPrototyeOF с «этим» как новый прототип объекта ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение