Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 27.06.2014, 12:46
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от nverv
неужели так будет что нельзя будет написать создавать переменную просто так - this.x
Там в JS, идут, как бы параллельно 2 парадигмы, smalltalk-style и быдло-lisp-style(aka scheme) и они пересекаются и конфликтуют между собой. Хорошо бы выкинуть всю схему, и оставить один смаллток. Но современные оптимизации, к сожалению, не расчитаны на динамику, поэтому крен идет в сторону быдлосхемы. Так вот, this.x=, это, строго говоря, не объявление переменной, а отправка сообщения объекту.
Ответить с цитированием
  #22 (permalink)  
Старый 27.06.2014, 12:59
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
это же прелесть жаваскрипта - в возможности простого объявления переменных
Без var? Когда ты объявляешь переменную без var, ты объявляешь ее в глобальном пространстве, при этом засирая его. При работе над более или менее крупным проектом сразу начнутся проблемы.

Цитата:
следовательно вопрос - ограничивать ли себя строгим режимом? кому это нафиг нужно?
что за странное ожидание апокалипсиса запрещающего тебе синтаксический сахар
Строгий режим - режим соответствия современным стандартам. Рано или поздно на эти современные стандарты перейдут все браузеры.

Цитата:
неужели так будет что нельзя будет написать создавать переменную просто так - this.x
Кхм, ты что, таким образом переменные объявляешь? Не надо так)
Ответить с цитированием
  #23 (permalink)  
Старый 27.06.2014, 14:22
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от foo Посмотреть сообщение
Там в JS, идут, как бы параллельно 2 парадигмы, smalltalk-style и быдло-lisp-style(aka scheme) и они пересекаются и конфликтуют между собой. Хорошо бы выкинуть всю схему, и оставить один смаллток. Но современные оптимизации, к сожалению, не расчитаны на динамику, поэтому крен идет в сторону быдлосхемы. Так вот, this.x=, это, строго говоря, не объявление переменной, а отправка сообщения объекту.
вот в этом то и дело
и я хочу понять откуда ноги растут

пжста подробнее расскажи на примере синтаксисов

кстати - var - с его помошью также можно засрать глобальное пространство
Ответить с цитированием
  #24 (permalink)  
Старый 27.06.2014, 14:29
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

как я понимаю - var - он для функций, локальная переменная
нет смысла его использовать в глобальном пространстве, он только для функция для скрытия области видимости

для создания именованых контейнеров в глобале используется глобальный метод:
Object.defineProperty(объект, контейнер, значение)

или синтаксический сахар:
объект.контейнер = значение


осталось лишь понять - запрещать ли себе использование этого сахара в ожидание наступающего строгого апокалипсиса
сука дурдом глобальный...

как же учить язык когда говорят - "на тебе такую функциональность но лучше ее не используй"

Последний раз редактировалось nverv, 27.06.2014 в 15:22.
Ответить с цитированием
  #25 (permalink)  
Старый 27.06.2014, 14:58
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от nverv
подробнее расскажи на примере синтаксисов
Ну, грубо говоря, если бы мы убрали все функции с локальным скопом, мы бы использовали только объектную нотацию и функции без лексических областей, мы бы получили смолток, а если наоборот, убрать объекты, и оставить функции с лексическим скопом, у нас был бы scheme. Иными словами ФП vs прототипное ООП. Синтаксис - это собственно литералы объектов и обычные функции.

Сообщение от nverv
с его помошью также можно засрать глобальное пространство
Например?
Ответить с цитированием
  #26 (permalink)  
Старый 27.06.2014, 15:07
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
как я понимаю - var - он для функций, локальная переменная
нет смысла его использовать в глобальном пространстве, он только для функция для скрытия области видимости
Тебе уже сказали - смысл есть, ибо правилами указано. Без var объявлять можно лишь потому, что это оплошность ранних стандартов.
Цитата:
Erolast, забей на него, каждый месяц на JS.ru появляется очередной диванный теоретик, который всех учит как надо писать код
А я знание терминологии и тонкостей языка оттачиваю

Последний раз редактировалось Erolast, 27.06.2014 в 15:10.
Ответить с цитированием
  #27 (permalink)  
Старый 27.06.2014, 15:11
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от Erolast
это оплошность ранних стандартов.
Это не оплошность ранних стандартов. Я где то читал, что в раннем js вообще не было замыканий. Этот вопрос не стоял вообще. Это теперешний стиль -- оплошность и уступка хлопающему глазами плюсовому быдлу. Настоящая суть js -- это объекты.
Ответить с цитированием
  #28 (permalink)  
Старый 27.06.2014, 15:13
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Это не оплошность ранних стандартов.
Да, это пережиток ранних стандартов.
Ответить с цитированием
  #29 (permalink)  
Старый 27.06.2014, 15:15
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от foo Посмотреть сообщение
Это не оплошность ранних стандартов. Я где то читал, что в раннем js вообще не было замыканий. Этот вопрос не стоял вообще. Это теперешний стиль -- оплошность и уступка хлопающему глазами плюсовому быдлу. Настоящая суть js -- это объекты.
согласен!

также замыканиями чудовищно усложняется по сути простейший язык
Ответить с цитированием
  #30 (permalink)  
Старый 27.06.2014, 15:20
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от foo Посмотреть сообщение
Ну, грубо говоря, если бы мы убрали все функции с локальным скопом, мы бы использовали только объектную нотацию и функции без лексических областей, мы бы получили смолток, а если наоборот, убрать объекты, и оставить функции с лексическим скопом, у нас был бы scheme. Иными словами ФП vs прототипное ООП. Синтаксис - это собственно литералы объектов и обычные функции.
я не понял, а сам способ создания переменной в виде: "объект.переменная" - он из какого языка пришел к нам?

Сообщение от foo Посмотреть сообщение
Например?
не понял?
варом создаю глобальные переменные, и постепенно образуется бардак
то есть вар это не решение проблемы засирания, это другая история
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто с нодой может помочь? И какой редактор посоветуете? Антон Крамолов AJAX и COMET 14 22.11.2012 20:34
Проблема с обработкой OnClick suslik90 Events/DOM/Window 1 11.05.2012 21:09
CComponent - кроссбраузерные компоненты tenshi Ваши сайты и скрипты 5 20.04.2010 23:22
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37