есть ли жизнь без var ?
<!> философия программирования, третий курс университета ><
организм чувствует некоторый подвох в этом операторе - какой то он не отогональный чтоли (может ктонибудь мне обяснит что это за зверь такой: и зачем он нужен при возможности динамичного объявления свойств: как и delete зачем нужен если есть сборщик мусора который придуман то для того чтобы не задумываться о добавлении и удалении памяти - короче я подозреваю что как то не всё складно в родном жаваскрипте) внутри функции он создает локальные переменные которые используемые и видимые только порождающей функцией а внутри глобального объекта он создает непонятные неудаляемые переменные также организм отвергает замыкания и прочую трудную хрень - душа просит нормального структурного программирования с ооп отсюда вопрос - что если совсем отказаться от создания локальных переменных функции и например использовать функции только как методы объектов, методы которые используют для своей работы свойства-переменные своего объекта - то есть ограничиться такой упрощенной ооп архитектурой: когда есть только объекты и их методы и их свойства, то есть когда всегда есть разделение данных и подпрограмм внутри объекта при этом есть глобальный объект и его методы и глобальные переменные для данных используемых глобальными методами это получается некое упрощенное подмножество жаваскрипта, без упора на замыкания - жизнеспособен ли такой воображаемый диалект? я наверное чота не понимаю - языки вообще делятся ли по этому признаку - по разделенности подпрограмм от структур данных ? ну это как разделение структуры от оформления и от логики... |
Жизнеспособен любой говнокод который работает. Но шли бы вы все со своим trueЪ-оопэ из моего няшного javascript'a с прототипом и замыканиями. =\
Короче смотри в сторону компилируемых в javascript языков: coffeescript, typescript, livescript, dart итд. Наверняка что-нить из этой гадости придётся тебе по вкусу. |
пальцем в небо но по моему это "сишарп головного мозга" =)
|
я уважаю вашу трепетную любовь к замыканиям и не осуждаю ваш выбор ))
это вопрос из области проектирования языков программирования здается мне что это дизайн Жавы то есть на жаваскрипте можно писать как аля на жаве.. похоже ответ я получил - если ошибаюсь то поправьте: так можно писать программы и они вполне будут работать как работают жававские программы, и можно исключить замыкания локальных переменных из образа мира обычное структурное программирования плюс обычный классический ооп - чтож в этом плохого? по моему вполне здравая мысль |
пока я вижу только словоблудие
Цитата:
Если хочешь писать на языке - пиши. Не надо строить из себя умника и переливать из пустого в порожнее. Согласно тому, что ты написал выше, уровень знаний js - (-1) (минус один). Aetae, любопытно, что ты будешь делать, когда придет es6 :) Там же будут классы, никакой няшности) |
Цитата:
|
Что то мне подсказывает что под классическим ооп ты подразумеваешь классовые надстройки над С а не Симулу или Смалталк =).
Java - это классовая модель и строгая типизация JavaScript - это прототипы и динамическая типизация Даже идиотам должно быть понятно что общего у них может быть очень очень мало. >>>На JavaScript писать как аля на жаве.. Да можно так же как и на аля любом другом привычном стиле. Именно по этому у JS такой низкий порог вхождения. Можно писать как на бейсике или С или же как на C# и Java. Имхо: Использование больше одной глобальной переменной в своих скриптах это глупость. |
Цитата:
|
вы меня не понимать
локальные переменные функций это стандартная возможность подпрограмм на всех языках? или же есть языки которые обходятся без таковых, то есть когда метод использует для своей работы только переменные своего или чужого объекта |
Цитата:
|
Цитата:
|
Цитата:
new function () { var foo = "test"; var isDeleted = delete foo; alert([ isDeleted, typeof foo ]); }; new function () { this.foo = "test"; var isDeleted = delete this.foo; alert([ isDeleted, typeof this.foo ]); }; В остальном добавить нечего. |
Цитата:
Есть множество языков где нет понятия переменная или функция например http://ru.wikipedia.org/wiki/Brainfuck Сами понятия "Локальная переменная", "функция" очень абстрактны (((. И они сильно различаются в конкретных реализациях в различных языках. Т.е. функция в JS != функция в С, переменная в JS != переменная в С. т.е. "локальные переменные функций ....... на всех языках ...." это очевидная глупость на которую невозможно ответить. Нужно меньше абстракции и больше конкретики в вопросах )). |
дык я предельно просто спрашиваю -
подпрограмма может работать с внутренними-локальными переменными и внешними вопрос в том - можно ли совсем обойтись без внутренних переменных в жаваскрипте и соответственно без замыканий звучит как ересь: я понимаю но мне нужно понять саму возможность этого и есть ли языки где только так |
Цитата:
в том числе объекта функции сборщик мусора придуман для того чтобы не париться о выделении памяти оператор delete - наверное лишний |
Цитата:
|
Цитата:
|
Цитата:
delete - позволяет удалить объект который больше не нужен это позволяет освободить память на компьютере =) <script> a = {} a.memory = "очень много гигов памяти"; alert (a.memory) // память занята =( delete a.memory alert (a.memory) // память освобождена =) </script> |
Цитата:
Цитата:
|
для двоишников по теме - habrahabr.ru/post/147890/
|
Цитата:
всё что ты написал в цитате - ересь и бред глобальный объект имеет свойства которые можно создать так: this.свойство или так: var свойство - и это по сути одинаковые сущности с разницей только в настройках редактируемости называй их как угодно - переменные контейнеры все они это атрибуты-члены одного общего объекта: обращение к которым одинаково: объект.свойство |
Цитата:
- "чтобы не париться о выделении и освобождении памяти" если у тебя по адресу объект.свойство лежит огромный кусок памяти - то ты просто присвой туда "ничего" и не парься объект.свойство=null |
Sweet, MallSerg, зачем что-то пытаться объяснять человеку касательно js, если этот человек не знает языка?
На данный момент для меня он просто школьник-тролль. Который, кстати, сейчас заработает свой первый и, судя по всему, не последний минус :) А для Watson-512-GTX акцентирую внимание, что ответ на его вопрос был дан на первой странице треда Прежде, чем учить нас "как надо", сперва: а) выучи язык б) и попытайся сделать "как надо" Когда оба этих пункта будут "закрыты", возможно, я буду прислушиваться к твоему мнению. А до тех пор, ты просто тролль :) |
да ё маё - чо вы такие истерично обидчивые?
как бабы, или как религиозные фанатики ну тыпые, ну дак с русскими это всегда так было |
Цитата:
|
Цитата:
Watson-512-GTX, с тобой не интересно общаться - ты слишком быстро скатываешься во "всё, что ты говоришь - ерись и бред; ты - тупой". Это как бэ намекает на твой уровень. Цитата:
|
Цитата:
1. Ты объяснишь, что мешает полностью отказаться от переменных. 2. Приведёшь пример, где сборщик мусора удаляет свойства объекта. 3. Приведёшь пример, где оператор delete удаляет переменную. Замечу: - если не будет хотя бы одного пункта, то ты - пиздобол. Потому как заявляешь, что "всё, что я написал в цитате - ересь и бред" - пример с глобальным объектом не принимается, потому что является частным случаем. |
В стандарте явно написано что delete должно удалять только свойство.
Но на практике delete после удаления свойства также пытается удалить и переменную если на нее больше нет ссылок что иногда очень удобно. Любопытный тест на способы удаления переменных =))) http://jsperf.com/deleting-variables-in-v8/2 |
Цитата:
наверное ты подразумеваешь те что созданы оператором var ? их не удаляет оператор delete зачем может понадобиться создавать оператором var контейнеры в глобальном объекте ? - здесь проявляется нелогичность языка. как мне кажется можно полностью обойтись без этого но я иду дальше и спрашиваю о возможности отказа от локальных контейнеров функций, дабы они работали только с контейнерами своего или чужого объекта - напрягите фантазию и скажите можно ли так писать программы: бывает ли так в жизни: или же локальные переменные абсолютно необходимы и без них что то невозможно сделать это ересь. я осознаю это просто интересна теоретическая такая возможность |
На каком языке у тебя есть опыт разработки?
|
Цитата:
я и сам подозреваю что можно, но на всяк вот еще тут у балбесов спрашиваю )) оператор var неортогональный. логика языка нарушена тут определенно, и соответственно замыкания это усложнение языка |
Цитата:
что уж нельзя новичку задать вопрос об основах? откуда такая истеричность? работа стресс ? понимаю и сочустую |
Watson-512-GTX, как ты ловко слез с конкретики обратно в своё словоблудие. Это всё от недостатка (возможно, полного отсутствия) опыта разработки. И я сейчас не о хеллоуворлдах, лабораторках или недоделанных в школе игр.
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
я считаю что оператор var надо использовать для только локальных контейнеров функций - тогда этот язык будет логичнее но остается открытым для меня вопрос об использовании замыканий. то есть когда одна функция читает контейнеры другой функции - однако эта функциональность раздута до основополагающего принципа. между тем как на классическом структурном ооп можно делать всё что угодно не нравится мне такой способ организации логики программы, да и наверное вцелом функциональное программирование это не торт |
Цитата:
|
Цитата:
|
Цитата:
а язык должен быть простым жаваскрипт позволяет обойтись без этих переподворотов с подвыпердвертом и писать просто - это факт структурное ооп полностью реализовано в жаваскрипте - поэтому можно совсем не думать о замыканиях такое мое категорячное мнение еретика )) |
Цитата:
Watson-512-GTX, я не понимаю, к чему ты ведёшь? Javascript такой, какой он есть: ![]() |
Цитата:
скока поставишь за такую лабораторку? |
Часовой пояс GMT +3, время: 07:28. |