Передача функции в качестве аргументов в бенчмарке javascript [передающая функция против прямого доступа]
Ну, я строю некоторый код JavaScript, и мне просто любопытно, эталон передачи функции в аргументе против прямого доступа
Я получил следующие функции
testIt(function(){
alert('Hi test');
});
function testIt(func){
func();
};
function testIt2(){
alert('Hi test');
};
А теперь как насчет testIt vs testIt2? Будет ли тест медленнее?
1 ответ
Я проверяю это на jspref и вот мой результат:
У анонимного звонка одинаковая скорость с прямым звонком. Но создание функции на лету работает на 80% медленнее.
Так что если вы хотите запустить некоторый код в цикле - сначала определите функцию, а затем передайте ее анонимно. Это дает достаточно читабельности и скорости.