Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   проверьте пожалуйста правильно ли понял (https://javascript.ru/forum/misc/16290-proverte-pozhalujjsta-pravilno-li-ponyal.html)

LegGnom 02.04.2011 00:49

проверьте пожалуйста правильно ли понял
 
Помогите понять скрипт:
function cmp (a,b) {
if (a>b) {
res = 1
}
else if (a<b) {
res = -1
}
else {
var res = 0
}
return res
}
1. Задаем функцию cmp и присваеваем ей
параметры a и b
2. Если a больше b
3. res = 1
4. Если a меньше b
5. res = -1
6. Задаем имя переменной и ее
начальное значение (можно ли его
поставить сразу после function)
7. Возврат результата работы функц

LegGnom 02.04.2011 01:07

и еще не понято почему иногда пишут arr а иногда Array

melky 02.04.2011 09:03

скрипты надо заключать в предназначенные для этого BB-коды
function cmp (a,b) {
if (a>b) {
res = 1
}
else if (a<b) {
res = -1
}
else {
var res = 0
}
return res
}


в самой функции чутка бред. про var забыли

так лучше


function cmp (a,b) {

var res = 0;

if (a>b) res = 1; 
else if (a<b)  res = -1; 

return c;
}


Цитата:

1. Задаем функцию cmp и присваеваем ей
параметры a и b
ну, почти. задаем функцию cmp с аргументами a и b

Цитата:

2. Если a больше b
3. res = 1
ну да. если а больше b,то res = 1 .... (снизу продолжение)

Цитата:

4. Если a меньше b
5. res = -1
неа. там else if

....или если а меньше b , то res = -1;

Цитата:

6. Задаем имя переменной и ее
начальное значение (можно ли его
поставить сразу после function)
не просто можно , а даже нужно! и про var не забывайте, т.к. без var переменная считывается из глобальной области видимости window

Цитата:

7. Возврат результата работы функц
если а = b ( не меньше и не больше) ,то res не изменяется, т.е. остается нулем.

возвращается число

Kolyaj 02.04.2011 16:50

Цитата:

Сообщение от melky
не просто можно , а даже нужно!

Кому нужно? Для улучшения читабельности лучше, когда переменная объявляется там, где первый раз инициализируется.

melky 03.04.2011 12:40

Цитата:

Сообщение от Kolyaj (Сообщение 99011)
Кому нужно? Для улучшения читабельности лучше, когда переменная объявляется там, где первый раз инициализируется.

угу, разницы никакой. но так можно и var где-нибудь потерять.

и по скорости , по-моему, var a,b,c быстрее, чем var a;var b; var c;.

пруф?

jsperf.com/multiple-vars-vs-comma

в хроме разница плохо видна. в ФФ через запятую на 37% быстрее

LegGnom 04.04.2011 14:29

Всем спасибо, все по плюсу.
Только вы не ответили на вопрос по arr и Array

Matre 04.04.2011 14:44

Цитата:

Только вы не ответили на вопрос по arr и Array
arr — это просто название переменной.
А Array — функция-конструктор массивов.


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