Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 11.12.2011, 23:52
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Livanderiaamarum
вы говорите полный бред.
А интерпретатор JS поддерживает меня в этом
var a = {b : 5};
(a = a).b = "String";

alert(a.b)
Ответить с цитированием
  #32 (permalink)  
Старый 12.12.2011, 13:59
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Разобрался:

Значение this в контексте функции определяется вызывающей стороной (caller-ом) по форме вызова. Если слева от скобок вызова ( ), находится выражение типа Reference, то значением this будет являться базовый объект этого значения типа Reference. Во всех остальных случаях (т.е. при любом другом типе значения, отличном от типа Reference), значением this будет всегда являться null. Но, т.к. null особого смысла для значения this не несёт, автоматом подставляется глобальный объект.


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

но вот вопрос. Как ОБЬЯСНИТЬ ЭТО?

({a:20}).b = 30


что это такое? что произойдет? какая ссылка есть на обьект? какая? какая база у ссылки? мы работаем с обьектом не имеющим ссылку??? О_О но это же невозможно..) и как тогда? как мы можем создавать свойство b ?? )))

я серьезно спрашиваю, я сам не догоняю))

мы создаем безымянный обьект в глобал области что ле ?

Последний раз редактировалось Livanderiaamarum, 12.12.2011 в 14:15.
Ответить с цитированием
  #33 (permalink)  
Старый 12.12.2011, 14:14
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Пардон за оффтоп: Livanderiaamarum, пожалуйста, умоляю, прекратите писать слово «равно» с буквой «о».
Ответить с цитированием
  #34 (permalink)  
Старый 12.12.2011, 14:30
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от GuardCat Посмотреть сообщение
Пардон за оффтоп: Livanderiaamarum, пожалуйста, умоляю, прекратите писать слово «равно» с буквой «о».
Такой уж у нас убогий нелогичный язык)) трудно в нем орентиорваться многие косяки приходится просто запоминать))
Ответить с цитированием
  #35 (permalink)  
Старый 13.12.2011, 02:12
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Livanderiaamarum
Такой уж у нас убогий нелогичный язык))
Дело далеко не в языке
Ответить с цитированием
  #36 (permalink)  
Старый 13.12.2011, 07:36
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Livanderiaamarum
Такой уж у нас убогий нелогичный язык))
Сообщение от devote
Дело далеко не в языке


Хотя идиот, конечно. Ты ругаешься на всё, что не умеешь использовать?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #37 (permalink)  
Старый 13.12.2011, 08:31
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Livanderiaamarum
Значение this в контексте функции определяется вызывающей стороной (caller-ом) по форме вызова. Если слева от скобок вызова ( ), находится выражение типа Reference, то значением this будет являться базовый объект этого значения типа Reference. Во всех остальных случаях (т.е. при любом другом типе значения, отличном от типа Reference), значением this будет всегда являться null. Но, т.к. null особого смысла для значения this не несёт, автоматом подставляется глобальный объект.
по-моему, я уже это упоминал?
Сообщение от monolithed
Важно запомнить, что this в контексте функции определяется caller'ом. И все, что определяется слева от () является типом Reference, в противном случае null, а т.к. нет практического смысла возвращать null подставляется Window.
Исходя из вышесказанного выражение типа:
(foo.bar = foo.bar)(); не определяются как Reference, именно по этому возращается Window (в basic mode).
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В contains() не подставляется значение переменной Heger jQuery 2 11.12.2011 20:26
Значение переменной salex009 jQuery 1 05.12.2011 16:55
оператор return возвращает значение, а не ссылку. Vertuplatonium Общие вопросы Javascript 4 16.05.2011 14:02