|
вопросы по учебнику
Здравствуйте. Возникло пару вопросов-собственно вот они:
var arr = [1,7,8,3,7,3,22,4] function compareNumeric(a, b) { return a - b; } sort(compareNumeric);// 1 3 3 4 7 8 22 то есть алгоритм таков 1 - 7, где а это 1, а b это 7. При этом выражение 1-7 результат равен отрицательному числу и а остаётся с левой стороны, но если же было бы положительным, то они бы поменялись местами - таким способом действует эта сортировка ? Алгоритм быстрой сортировки понятен - мне ДО КОНЦА не понятно каким образом действует передаваемая функция в метод sort() |
Функция должна вернуть отрицательное число, если b должно стоять после a, положительное число, если a должно стоять после b и 0, если a и b равны. В общем, да, так и есть.
|
Спасибо за ответ. ТО есть всё основное внимание на параметр функц. a и определение его места по отношению к b элементу ?
|
Да.
|
А при function expression, ведь переменная является ссылкой ?
|
Объекты в жс передаются по ссылкам. Функция - объект, массив - объект, в общем, все, что не примитив - объект.
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
<script> var a = 0; var sayH = function() { var phrase = "Привет"; alert(phrase); } </script> До выполнения кода интерпретатор сохранит в global object(window) window = { a:undefined, sayH: undefined } Но, а как тогда заранее создастся LexicalEnvironment для var sayH = function(), если присвоение произойдёт, только когда дойдём до этого участка кода? И можно поподробнее о сборщике мусора желательно с примером и алгоритмом действия. Заранее благодарен |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 10:57. |
|