Я наткнулся на этом яваскрипте функции:Javascript странно геЬигп вместо цикла через массив
function functionName(a, b) {
return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&
a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&
a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===b[11]&&
a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===b[15];
};
Интересно, в какой ситуации будет то, что код лучше или быстрее, чем это (так как и Ь, очевидно, массивы же длина):
function functionName(a, b) {
for(var i = 0; i < a.length; i++) {
if(a[i] !== b[i]) {
return false;
}
}
return true;
};
Или эта версия (если они больше, чем 16):
function functionName(a, b) {
for(var i = 0; i < 16; i++) {
if(a[i] !== b[i]) {
return false;
}
}
return true;
};
Почитал бы любую ссылку на эту тему. Благодарю.
(1) Просто Benchmark его. (2) Редко бывает неплохо повторить предположение об оптимизации двигателя. –
хорошо, обе версии почти одинаковы. Единственная (сомнительная) оптимизация, которую вы могли бы сделать, - это изменить первый, который будет «for» (var i = 0, len = a.length; i
vlaz
@Vid Оптимизация 'length' уже давно дискредитирована как ненужная. Давайте перестанем распространять рассказы старых жен. –