Цитата:
Спасибо еще раз |
Здравствуйте, подскажите пожалуйста, есть примерно следующий плагин на jquery, те. плагин как и все плагины на jquery, но я никак не соображу как получить доступ к объекту и его методам
(function ($) {
var C = function () {
defaults = {
......
},
fillRGBFields = function (a, b) {
......
}
});
})(jQuery);
Как мне сделать что-то навроде for(i in C) alert(i + " : " + C[i]) |
Подскажите, пожалуйста, а почему
если при инкапсуляции вызвать Блок return { и поставить скобку на новую строку, return не работает |
Цитата:
то что возвращает return ,должно быть записано в одну строчку с ним. Иначе, перенос интерпретатор\компилятор воспринимает как окончание команды return, воспринимает как- ; |
Спасибо за ответ.
Я к тому что for if и тд. Нормально обрабатывают блок, когда { на другой строке, а чем return так отличился? |
Цитата:
Цитата:
Цитата:
Цитата:
что не ясного в ответе,чтоб задавать вопрос повторно ? что это особенность "языка" с return? чем отличается особенная ситуация от обычной? тем, что она особенная -она исключение. |
Я понял особенности, просто может еще где-то есть подобные особенности, а я не знаю.
|
Подскажите, как правильно выполнить следующее
for(var i=0; i<document.getElementsByName("my_name").length; i++)
{
document.getElementsByName("my_name")[i].onkeyup = function(i)
{
console.log(i);
}
}
|
Цитата:
Кстати так:
for(var i=0; i<document.getElementsByName("my_name").length; i++){
document.getElementsByName("my_name")[i].onkeyup = ...
}
делать не рекомендуется, ибо каждую итерацию цикла у вас сначала идёт получение заново всех элементов ByName("my_name"), затем получение заново длины, а после, в теле цикла, ещё раз получение всех элементов ByName("my_name"). Всё это вещи тратящие вычислительное время. В современных браузерах предусмотрено всяческое кеширование подобных случаев на уровне движка, но я бы не рекомендовал слишком уж полагаться на это.Более экономичный вариант:
for(var i=0, my_name=document.getElementsByName("my_name"), l=my_name.length; i<l; i++){
my_name[i].onkeyup = ...
}
P.S. Ну и лично мне больше всего нравится для таких случаев использовать обратный перебор:) :
var my_name=document.getElementsByName("my_name"), i=my_name.length;
while(i--){
my_name[i].onkeyup = ...
}
Пример: Если не разобрались сами с замыканиями.
for(var i=0, my_name=document.getElementsByName("my_name"), l=my_name.length; i<l; i++){
my_name[i].onkeyup = function(i){
return function(){
console.log(i);
}
}(i)
}
|
Большое спасибо.
Посмотрел пример и вышло так
for(var i=0; i<document.getElementsByName("my_name").length; i++)
{
document.getElementsByName("my_name")[i].onkeyup = function(x)
{
return function(){console.log(x)};
}(i)
}
Не ясно только, почему не выходит так
for(var i=0; i<document.getElementsByName("my_name").length; i++)
{
document.getElementsByName("my_name")[i].onkeyup = function(x)
{
console.log(x)
}(i)
}
Буду благодарен за разъяснения |
| Часовой пояс GMT +3, время: 20:13. |