Показать сообщение отдельно
  #21 (permalink)  
Старый 02.05.2011, 19:38
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от B@rmaley.e><e Посмотреть сообщение

Целью было обеспечение гарантированной установки значения по-умолчанию, т.е. так, чтобы уже на входе в функцию мы имели дело либо с настоящими значениями, либо стандартными.
а если делать так?


function arr_cycle ( arr, func ) {

// явл. ли массивом
if ( arr.constructor !== Array ) throw new Error( "'arr' must be Array" );

for ( var i = 0; i < arr.length; i++ )
           i in arr &&  func.apply(window, [ arr[i], i, arr ] );
 
}


правда, очень жаль, что изза такой типизации в JS нельзя использовать оверлоадинг ( перегрузки )

приходится внутри всей функции проверять тип аргумента и только потом расфасовывать методы
Ответить с цитированием