Цитата:
Спасибо еще раз |
Здравствуйте, подскажите пожалуйста, есть примерно следующий плагин на 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, время: 01:24. |