Я заметил, что могу получить доступ к свойствам функции, Рутер, возвращаемой Рутером, используя «это». Мое понимание 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
Форум по Javascript
-
Anonymous
1751504059
Anonymous
Я заметил, что могу получить доступ к свойствам функции, Рутер, возвращаемой Рутером, используя «это». Мое понимание 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)
Подробнее здесь: [url]https://stackoverflow.com/questions/79688190/object-setprototyeof-with-this-as-objects-new-prototype[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия