Какой метод быстрее?Условие ЕСЛИ или математическая формула? - PullRequest
0 голосов
/ 01 декабря 2011

Он просто меняет имя и пол человека на его предыдущий пол.

function changeName(gender){
    if(gender==0){
        name='Foo';
        gender=1;
}else{
        name='Bar';
        gender=0;
    }
}

OR

names=['Foo','Bar'];
function changeName(gender){
    name=names[gender];
    gender=1-gender; // Thanks Kerrek
}

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Вот jsPerf , БОЛЬШОЙ онлайн-инструмент, который «призван обеспечить простой способ создания и обмена тестовыми примерами, сравнивая производительность различных фрагментов JavaScript с помощью тестов производительности».

Hopeэто помогает, не забудьте опубликовать свои результаты; -)

0 голосов
/ 01 декабря 2011

Если пол может принимать только два значения, производительность не сильно отличается.Но если пол может иметь много значений, ваш блок if будет выглядеть примерно так

if ( gender == 0 )
{
}
else if ( gender == 1 )
{
}
else if ( gender == 2 )
{
}
else if ( gender == 3 )
{
}

, что будет медленнее и менее приятным для просмотра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...