Передача функции в качестве аргументов в бенчмарке javascript [передающая функция против прямого доступа]

Ну, я строю некоторый код JavaScript, и мне просто любопытно, эталон передачи функции в аргументе против прямого доступа

Я получил следующие функции

testIt(function(){
    alert('Hi test');
});

function testIt(func){
    func();
};

function testIt2(){
    alert('Hi test');
};

А теперь как насчет testIt vs testIt2? Будет ли тест медленнее?

1 ответ

Я проверяю это на jspref и вот мой результат:

У анонимного звонка одинаковая скорость с прямым звонком. Но создание функции на лету работает на 80% медленнее.

Так что если вы хотите запустить некоторый код в цикле - сначала определите функцию, а затем передайте ее анонимно. Это дает достаточно читабельности и скорости.

Другие вопросы по тегам