Это незначительно; различия в производительности незначительны, и браузеры, похоже, справляются с этим по-разному:
Редактировать: действительно есть разница в производительности: большинство браузеров выполняют метод 1 немного быстрее.
//Method 1:
var t1 = Date.now();
myVariable = true;
for(var i = 0; i < 20000000; i++) {
function doSomething ()
{
Math.sin(Math.cos(0));
}
if (myVariable) {
doSomething()
}
myVariable = !myVariable;
}
console.log(Date.now() - t1);
//Method 2:
var t1 = Date.now();
myVariable = true;
for(var i = 0; i < 20000000; i++) {
function doSomething()
{
if (myVariable) {
Math.sin(Math.cos(0));
}
}
doSomething();
myVariable = !myVariable;
}
console.log(Date.now() - t1);
//Results:
//Safari: About the same, former was slightly quicker
//Firefox: Former was quicker
//Chrome: About the same, latter was somewhat quicker
//Opera: Executed the former quicker