Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.06.2014, 23:04
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

В компилируемых языках переменные создают реальные объекты в js переменные это всегда свойства какого либо объекта любое объявление var расширяет скоп(специальный объект) текущей функции
т.е. все переменные находятся в одной большой древовидной структуре
Ответить с цитированием
  #12 (permalink)  
Старый 27.06.2014, 09:28
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от nverv Посмотреть сообщение
1) создание глобальных и локальных переменных {функций}
Только локальных в ф-циях. В глобальной области можно и без вар, разница только в том, что с вар не удаляются delete, причем, в некоторых реализациях, например в node, объявленная с var переменная не копируется в global, поэтому, наверное, в глобальной области без var даже лучше.
Ответить с цитированием
  #13 (permalink)  
Старый 27.06.2014, 11:32
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Только локальных в ф-циях.
Нет.

Цитата:
В глобальной области можно и без вар
Это пережиток былого. В современном javascript при объявлении переменных ВСЕГДА нужно использовать var (ну либо const/let). Попробуй объявить без var в строгом режиме - и интерпретатор радостно выдаст ошибку.
"use strict";

try {
  somevar = 100;
} 
catch (e) {
  alert(e);
}

Цитата:
в некоторых реализациях, например в node, объявленная с var переменная не копируется в global
Потому что в node.js область видимости текущего скрипта не равна глобальной области видимости. Каждый модуль создает свою область видимости.

Цитата:
поэтому, наверное, в глобальной области без var даже лучше.
strict mode с тобой не согласен.
Ответить с цитированием
  #14 (permalink)  
Старый 27.06.2014, 11:47
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от Erolast
Нет.
Да
Сообщение от Erolast
при объявлении переменных ВСЕГДА нужно использовать var
Нет
Сообщение от Erolast
Попробуй объявить без var в строгом режиме
Мне плевать на него
Сообщение от Erolast
Каждый модуль создает свою область видимости.
Да, но это отношения к делу не имеет
Сообщение от Erolast
strict mode
см выше
Ответить с цитированием
  #15 (permalink)  
Старый 27.06.2014, 12:10
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Да, но это отношения к делу не имеет
Имеет. В node.js любой исполняемый скрипт сам по себе является модулем. Любой модуль создает область видимости. Когда ты создаешь файл index.js и запускаешь его через ноду - код исполняется не в глобальной области видимости, а в области видимости текущего модуля, то есть, index.js

Цитата:
Мне плевать на него
То есть, ты признаешь ранние стандарты, а на современные тебе плевать?) Ну-ну, продолжай в том же духе.
Ответить с цитированием
  #16 (permalink)  
Старый 27.06.2014, 12:14
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Erolast, забей на него, каждый месяц на JS.ru появляется очередной диванный теоретик, который всех учит как надо писать код

ЗЫ: надо бы создать раздел в форуме: "Диванные теории".
__________________
kobezzza
code monkey
Ответить с цитированием
  #17 (permalink)  
Старый 27.06.2014, 12:16
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от Erolast
а в области видимости текущего модуля, то есть, index.js
Ты хочешь сказать, что в индексе нет глобального скопа?
Ответить с цитированием
  #18 (permalink)  
Старый 27.06.2014, 12:23
foo foo вне форума
Профессор
Отправить личное сообщение для foo Посмотреть профиль Найти все сообщения от foo
 
Регистрация: 17.05.2014
Сообщений: 197

Сообщение от kobezzza
Диванные теории
Диванная практика рулит, я в курсе.
Ответить с цитированием
  #19 (permalink)  
Старый 27.06.2014, 12:31
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от Erolast Посмотреть сообщение

Это пережиток былого. В современном javascript при объявлении переменных ВСЕГДА нужно использовать var (ну либо const/let). Попробуй объявить без var в строгом режиме - и интерпретатор радостно выдаст ошибку.
вы чо там в интернете совсем охринели чтоли ?!

это же прелесть жаваскрипта - в возможности простого объявления переменных

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

неужели так будет что нельзя будет написать создавать переменную просто так - this.x

зачем тогда оператор удаления

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

Сообщение от 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