#0
by D_Pavel
Можно конструктором через new сделать объект, прототип которого другой объект. А как сделать функцию, и задать ей прототип?
#1
by Garikk
я так понимаю вопрос про интерфейсы, насколько я знаю в js их нет P.S. в "прототип другой объект" - это вроде как наследование
#2
by D_Pavel
Ну да, наследование. Нужно чтобы было так: есть объект у которого есть свойства: obj.aaa = 10; нужно создать функцию, которая наследует эти свойства: alert (func.aaa); // выведет 10 но если написать: func, то выполнится как функция.
#8
by Про100Филя
нужно создать функцию, которая наследует эти свойства? Чтобы имя класса было равно имени функции?
#11
by Гёдза
а просто имя функции = имя переменной объекта? по крайней мере в 1с такое на ура проходит
#12
by qwerty2469
Наследование на прототипах function A(obj) { this.i = obj.i; }; A.prototype = { constructor: A }; function B(obj) { A.call(this, obj); }; B.prototype = Object.create(A.prototype); B.prototype.constructor = B; Основной код var b = new B({i : 1}); alert(b.i); // 1
#14
by qwerty2469
var o = {i :2}; var f = function {alert;}; for(p in o) // Цикл по свойствам f[p] = (o[p]); f; // 1 alert(f.i); //2
#16
by beaver1971
function constr { var O = {}; O = function {return O.aaa} O.aaa = 2; O.bbb = function(ccc) { O.aaa = ccc;}; return O; }; var newObj1 = new constr; var newObj2 = new constr; newObj1.aaa = 10; newObj2.aaa = 20; alert(newObj1 + ":" + newObj2); // 10:20 newObj1.bbb; newObj2.bbb; alert(newObj1 + ":" + newObj2); // 30:40 newObj1.bbb = function(ccc) {this.aaa = ccc * 2;}; newObj1.bbb; newObj2.bbb; alert(newObj1 + ":" + newObj2); // 50:60 PS. функцией объект объявляем до того как начинаем "дорисовывать" свойства....
#19
by qwerty2469
var o = {i :2}; for(p in o) Function.prototype[p] = o[p]; var f1 = new Function('','alert'); f1; // 1 alert(f1.i); //2 Но проблема в том, что если создать f2 = new Function он будет иметь тот же прототип, что и f1.
#20
by D_Pavel
продолжу твой код: o.i = 3; alert(f1.i); //2, а не 3 Не годится. Свойства объекта скопировались в прототип функции, но не сам объект стал прототипом функции.
#21
by D_Pavel
Должно быть типа того: var o = {i :2}; var f1 = function{ alert(f1.i); } f1.__proto__ = o; o.i = 3; f1; //3
#31
by D_Pavel
Нужно именно яваскрипт. Потому что это вопрос на углубленное знание яваскрипт. Хочу научиться использовать яваскрипт на 100%. Пока могу только на 99%. Я думаю там нет исчерпывающего ответа.
#37
by Serginio1
Так, что толку если ты ответ на свой вопрос не получаешь. Задавать вопросы надо там, где больше специалистов. Это форум не Вэб программистов.
#38
by D_Pavel
С чего ты взял что это форум не веб программистов? Это форум на любые темы. Посмотри какие секции тут есть. "Веб-мастеринг", например.
#39
by Serginio1
Поверь на других форумах уровень вэб программисто значительно выше. На практически можно найти все ответы на вопросы, но нужно знать английский, либо пользоваться переводчиком. Ты попробуй. Зарегистрироваться не большая проблема. И посмотри какая активнось на данном форуме по вэб мастерингу и на других
#40
by D_Pavel
Попробовал. На stackoverflow какие-то ламеры сидят. Вместо ответа на вопрос пытаются блеснуть знаниями элементарных основ яваскрипта и лайкают друг друга.
#41
by D_Pavel
Разобрался в общем. Плохо что никто не догадался. var o = {i :2}; var f1 = function{ alert(f1.i); } //f1.__proto__ = o; Object.setPrototypeOf(f1, o); o.i = 3; f1; //3
#45
by Asmody
этот метод введен только в ES6. Поддерживается не всеми браузерами. Есть пара полифилов, но и они не полностью кроссбраузерные.
#49
by Serginio1
Я так понимаю, что у питона достаточно плохо со статической типизацией и выводом типа. Прелесть TypeScript это как раз статическая типизация вывод типа и как следствие intellisense и контроль на уровне компиляции. Чего кстати в 1С сильно не хватает.
#51
by Serginio1
Многие хотят статическую типизацию Как впрочем и в 1С. В TypeScript всегда можно привести к any и работать с двойной диспетчеризацией.
#56
by Draziw
Объекты и методы(функции) это несколько разные сущности. Объект - это человек, у него есть ноги (параметры), функция у него - ходить. Ты хочешь чтобы у "ходить" были ноги. Функции не содержат параметры, так не бывает.
#57
by Serginio1
в JS можно Гибридные типы Из-за гибкой основы JavaScript возможна работа с такими объектами, которые являются комбинацией нескольких типов. С такими объектами можно работать и как с объектом и как с функцией. interface Counter { (start: number): string; interval: number; reset: void; } var c: Counter; c; c.reset; c.interval = 5.0;
#60
by D_Pavel
Прототип - это родитель. Что именно тебе не понятно в терминах? Спрашивай более конкретно, объясню.
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Запуск 1с из командной строки: как задать имя архива
- Задать значение константе
- Как получить значение из функции, для использования в другой функции?
- Передать управление из JavaScript в 1С (с передачей параметра) в поле HTML
- Как подгрузить javascript после добавления ссылки на него AJAX-ом
- javascript в Поле HTML документа. Видимость функций javascript.
- УФ: Как задать вопрос пользователю из функции &НаСервере ?
- Можно ли параметром функции по умолчанию задать пустую ссылку?
В этой группе 1С
- Поделитесь 1CDLib, пожалуйста!)
- Распределенные базы: создание начального образа на сервере 1С + SQL
- Как правильно обновить классификатор банков в УТ11
- Розница 2.1 и взаиморасчеты с поставщиками
- РИБ: возможен ли перенос движений без регистраторов?
- Настройка доступа по автору документа в БП 3.0
- Как запустить v8unpack.exe?
- v7: Нужно формы отчетности для 7-ки бух с декларацией по НДС
- Номера счетов-фактур в акте сверки в БП 3.0
- Печать этикеток.
- 1С: Библиотека электронных документов. Стандарты обмена
- Отчет на СКД неверно считает итоги!
- Вызов клиентской процедуры из серверной в общем модуле
- Программно открыть форму выбора документа 1с 8.3
- Регистр накопления с видом "Остатки" показывает неверные данные.
- v7: ТаблицаЗначений.Заполнить(); что не правильно?
- Новый планировщик. Не срабатывает событие Перетаскивание. Веб клиент
- Шаблоны уведомлений в 1С
- УТ 10.3 Подключение изображений к характеристикам номенклатуры
- Разрешить итоги: Срез последних. Откуда 2 таблицы?