Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   (function(){бла-бла-бла})() что это означает? (https://javascript.ru/forum/misc/24165-function-%7Bbla-bla-bla%7D-chto-ehto-oznachaet.html)

Livanderiaamarum 21.12.2011 04:25

Цитата:

Сообщение от Nekromancer (Сообщение 144778)
Livanderiaamarum,
Неужели :)

представьте себе именно это я и сказал))

nerv_ 21.12.2011 10:36

melky, спасибо) Кажется, понял, где я заплутал
for(var i in this) //не перечислимые св-ва

Nekromancer 21.12.2011 10:48

nerv_,
Тю, а это тут причём?)

nerv_ 21.12.2011 14:17

Nekromancer, я высказывал предположение, что было создано безымянное св-во ^_^
// вызов анонимной функции в контексте объекта
// call(1) -> call(Number) -> call(Object);
(function() {
	// проверить тип объекта
	alert(this instanceof Number); // True
	alert(this == 1); // значение св-ва
	
	for(var x in this) ; // неперечислимое св-во
	
	// вернуть св-во объекта вызова по имени объекта вызова
	// т.к. было создано безымянное св-во, то undefined <--
	return this[this];
}).call(1);

Nekromancer 21.12.2011 14:25

nerv_,
А как это строка может доказать, что мы свойство которое мы хотим запросить равно - undefined?
Я конечно предполагаю, что вы путаетесь в терминологии и называете значения свойства (1)[q], просто своством. Но всё же.
Строка:
for(var x in this) ;

лишь может доказать при правильном оформлении, что в нём нет перечисляемых свойств или есть.
А этот комментарий меня вообще убил:
// т.к. было создано безымянное св-во, то undefined <--

Кто то понял логику?

nerv_ 21.12.2011 14:39

Цитата:

Сообщение от Nekromancer
Я конечно предполагаю, что вы путаетесь в терминологии и называете значения свойства (1)[q], просто своством.

Все может быть) Изучаю js только 2-3 недели) Попробую внести ясность (как я себе это понимаю):
// создание объекта x и присвоение ему 2-х св-в
// первое: a со значением 1
// второе: b со значением undefined
var x = { a:1, b:undefined };
// перечислить св-ва объекта
for(var i in x) {
	alert(i); // св-во
	alert(x[i]); //значение св-ва
}

Цитата:

Сообщение от Nekromancer
А этот комментарий меня вообще убил:

// т.к. было создано безымянное св-во, то undefined <--

Да, сглупил) Это я цитировал себя от вчера)

Livanderiaamarum 21.12.2011 14:39

Цитата:

Сообщение от Nekromancer (Сообщение 144941)
Кто то понял логику?

я понял, тут типа логика если че-то не определено то выдавать нЕчего, то undefuned, что обычно ведет себя как "нет значения")) как то так

Nekromancer 21.12.2011 14:57

nerv_,
Ну сейчас цикр правильный, да :) Просто в том примере это не так проверка, которая нужна была.
Livanderiaamarum,
Неужели трудно нормально формировать свои мысли?
- Если свойство явно не определено или оно не было определено в цепочки прототипов, то возвращается базовое значение - undefined

Livanderiaamarum 21.12.2011 15:10

Цитата:

Сообщение от Nekromancer (Сообщение 144955)
nerv_,
Ну сейчас цикр правильный, да :) Просто в том примере это не так проверка, которая нужна была.
Livanderiaamarum,
Неужели трудно нормально формировать свои мысли?
- Если свойство явно не определено или оно не было определено в цепочки прототипов, то возвращается базовое значение - undefined

спасибо не знал)


Часовой пояс GMT +3, время: 18:53.