Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Функция с предустановленным значением (https://javascript.ru/forum/misc/34880-funkciya-s-predustanovlennym-znacheniem.html)

KupueIIIKo 23.01.2013 06:32

Функция с предустановленным значением
 
function myfync(i=10){
///bla bla bla
}

Не стал тратить время на поиски и проверку... Такая структура есть на php. Если значение прилетело(например i=15), то функция работает с i=15, если нет то с i=10. Такое работает?

KupueIIIKo 23.01.2013 07:23

Вообщем такая конструкция работает)

ksa 23.01.2013 09:12

Цитата:

Сообщение от KupueIIIKo
Такое работает?

Бивас, тест! (с)

myfync();

function myfync(i=10){
   alert(i);
};


Вообще ошибка.

myfync();

function myfync(i){
   i=(i)? i: 10;
   alert(i);
};

KupueIIIKo 23.01.2013 09:30

function form_add_cat(div_cat="#cats"){
		$(div_cat).append("<option  selected='selected' disabled>Выберите категорию</option>");
		for(i=0;i<array_cat.length;i++){
			var input_option_cats  = $("<option>",{
				value: i,
				text: array_cat[i].name
			});
			$(div_cat).append(input_option_cats);
		}
	}


у меня работает, как сам не понимаю!
Функцию я гружу в главном файле!
Потом по мере надобности подгружаю код через ajax
form_add_cat("#s_cat");

И там и там все добавляется!

ksa 23.01.2013 09:42

Цитата:

Сообщение от KupueIIIKo
у меня работает

Т.е. прям тут нажимаешь на "Запустить" и работает? :blink:

KupueIIIKo 23.01.2013 09:43

Кстати заметил код работает только в FF) Есть альтернатива выхода?)
В FF и ваш скрипт работает)

ksa 23.01.2013 09:45

Цитата:

Сообщение от KupueIIIKo
Есть альтернатива выхода?

В моём же сообщении есть пример... ;)

KupueIIIKo 23.01.2013 09:46

myfync(15);

function myfync(i){
   i=(i)? i: 10;
   alert(i);
};


i=(i)? i: 10; - Вот эту строчку можно расшифровать, честно не изучал эти самые сокращения)

ksa 23.01.2013 09:47

KupueIIIKo, вот еще вариант из букваря...
http://javascript.ru/basic/functions#parametry-funkcii

KupueIIIKo 23.01.2013 09:47

Цитата:

Сообщение от ksa (Сообщение 228874)
В моём же сообщении есть пример... ;)

Удивительно FF компилирует JS как то по другому)

ksa 23.01.2013 09:51

Цитата:

Сообщение от KupueIIIKo
FF компилирует JS как то по другому

Что именно "по другому"? :blink:

Примеры

myfync(15);
myfync();

function myfync(i){
   i=i || 10;
   alert(i);
};


myfync(15);
myfync();

function myfync(i){
   i=(i)? i: 10;
   alert(i);
};



Дают не верные результаты?

KupueIIIKo 23.01.2013 10:22

Нет, то что мой код выполнялся) И ваш кстати) Запустите скрипты в FF увидете)

ksa 23.01.2013 10:49

Цитата:

Сообщение от KupueIIIKo
Запустите скрипты в FF увидете)

Так мне-то зачем на них смотреть? :D
Твой огрызок у меня работать точно не будет вообще везде...

Dmitriyff 23.01.2013 11:29

KupueIIIKo,
это кстати интересно, всегда знал что default argument value в js не бывает
но ваш пример поставил в шок, легкое гугление привело к следующему

вещь конечно полезная может быть только при разработке какого-нить спец приложения только для FF

danik.js 23.01.2013 12:47

Это часть спецификации ES6. Поддержку можно смотреть тут: http://kangax.github.com/es5-compat-table/es6/

ksa 23.01.2013 16:36

Цитата:

Сообщение от Dmitriyff
это кстати интересно, всегда знал что default argument value в js не бывает
но ваш пример поставил в шок, легкое гугление привело к следующему

До этого так же видел только примеры, что в моих сообщениях... :)


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