Цитата:
Class=function(private){ var f=function(){} f.prototype.setPrivate=function(value){private=value} f.prototype.getPrivate=function(){return private} return new f } o1=Class(1) o2=Class(10) o2.setPrivate(100) alert(o1.getPrivate()) alert(o2.getPrivate()) И это основы, тащемта. |
Ну то ест нормально - никак. Ну я так и сказал. Мог бы и не распинаться тут :(
|
Цитата:
|
Цитата:
|
Цитата:
|
Все твои примеры годятся только на хелло ворлд
|
Цитата:
|
Наследование. Instanceof. Работоспособность оптимизаций js движков. Пока все. Жду
|
danik.js,
В такой вот, простой реализации тебя что не устраивает? Class=function(){ var private this.get=function(){alert(private)} this.set=function(newValue){private=newValue} } o1 = new Class o2 = new Class o1.set(1) o2.set(10) o1.get() o2.get() ? То что каждый экземпляр имеет свои собственные методы? За память беспокоишься? Не думаю, что в большинстве случаев это будет иметь значение. Память нынче дешевая. Что касается оптимизаций, то тут как раз наоборот. Движок любит лексические замыкания, там ссылочная прозрачность. Статика ё-ная. |
Цитата:
https://yadi.sk/i/xZaFpF6cd8fqN Сейчас не могу тебе сказать зачем оно нужно, в проекте несколько человек. Но эту часть с js на ts переписывал именно я) |
nerv_,
а, да, Вы правы. TS дает имена классам. но кроме как для логирования я не вижу этому применения. |
krutoy, а наследоваться как?
|
Цитата:
Class=function(){ var private this.get=function(){return private} this.set=function(newValue){private=newValue} } Class.prototype.inc=function(){ this.set(this.get()+1) } o1 = new Class o2 = new Class o1.set(1) o2.set(10) o1.inc() o1.inc() o2.inc() alert(o1.get()) alert(o2.get()) |
На js дубовые геттеры оказывается, для каждой переменной нужен свой собственный. То есть эти get и set фактически ничем от вручную прописанных как у крутого не отличаются. Я уже в который раз подозреваю что не нужен ява-скрипту ООП.
|
kostyanet,
Нужен, вы просто не умеете им пользоваться. |
Да я уже два раза просил умеющих дать мастер-класс на 10 строк и два раза обломился. Так что похоже не я один такой.
|
Кстати тема, то есть subj, просто оксюморон. Как граматно создать...
|
var FormField = function FormField(elem){ this.type = elem.type; this.def = elem.value; this.rules = {}; }; FormField.prototype.validate = function() { value=elem.value.trim(); if(this.type in rules) { rules[type](); } else { rules.text(); } }; var some = new FormField(elem); Что-то типа этого. Не очень понимаю как у вас работает валидация, но я думаю что дальше вы разберетесь. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
devote,
Откройте глаза:) Там показано наследование. Или вы какую-то конкретную фичу имеете в виду. Поясните. Вы хотите чтобы приватная переменная наследовалась, или чо? тогда какая она нахер приватная. |
Цитата:
Но если ты будешь совать все в конструктор, то наследование теряется.. Если же в прототипы, то тогда и нет доступа к приватным данным не открывая их наружу через какие-то там методы. |
Цитата:
|
Цитата:
// это твой класс, как бы с приватными переменными var instance = new YourClass; // а вот что я делаю с экземпляром твоего класса // теперь приватную переменную я буду хранить тут, вытащил наружу var private = instance.get(); // переопределяем метод получения значения instance.get = function() {return private;} // переопределяем метод установки значения instance.set = function(value) {private = value;}Теперь видно что вся работа с переменной проходит через переопределенные методы, а это значит что приватности тут ноль... Ибо я могу легко сломать функционал класса. |
Цитата:
|
devote,
Ты переопределил методы, а не саму переменную. Никто не говорил, что методы будут приватными, об этом речь не шла. |
devote,
И нахрен вообще нужен этот гемор, мы что, в шпионов играем чтоли? |
Цитата:
|
Цитата:
http://javascript.ru/forum/misc/5208...tml#post344241 |
Цитата:
|
Цитата:
|
krutoy,
ну например тема про мерж нескольких объектов. Или я на днях читал твою перепалку с bes. Не помню в какой теме, но ты написал что он не прав а тебе некогда. И больше не писал туда) |
krutoy,
значит с тем что ты пишешь ересь и материшся - ты согласен, тебя тока слив задел?))) |
tsigel,
Там не было никаких сливов, просто ты ни*янепонел. С бесом, там вообще ЕМНИП, про expressions было. У меня не было желания штудировать кучу х*ты, чтобы "найти" ответ на элементарнейший вопрос. Я не собираюсь кого-то в чем то убеждать. |
krutoy,
ну-ну |
tsigel,
Ты вот скажи, ты, например, сейчас до варов моих дое*лся. Ты можешь сказать, внятно, без шелухи и отмазок, зачем нужны вары в глобальной области, за исключением ноды и ее модулей. Какой смысл с точки зрения семантики имеют? Вангую твой очередной слив. |
Цитата:
По стандарту языка вар следует писать, если его не писать в строгом режиме будет ошибка. Просто для понижения порога вхождения в язык сделали чтобы браузер чистил "лажу" за говнокодерами которые не пишут так как того требуют стандарты :) Типа тебя :) И ещё ты всевремя редактируешь свои записи. Это тоже раздражает. Ладно бы ты ошибки синтаксические/грамматические правил. Тыж переписываешь почти. |
tsigel,
иными словами ты не знаешь? |
Часовой пояс GMT +3, время: 12:01. |