Возьмём к примеру код, весьма типичный при асинхронных вызовах:
var doSomething = function(callback) {
if ("function" !== typeof callback) {
callback = Function.prototype;
}
// .. function body ..
callback();
}
До этого обычно писал
callback = function(){}
, но сдаётся мне, что при таком подходе на каждое переопределение колбэка будет создаваться новая функция. Приведённый же выше вариант, вроде бы, должен быть поэкономнее.
Спецификации (
15.3.4) на моей стороне, но при этом не покидает ощущение, что так делать не стоит.
Так как:
function(){}
или
Function.prototype
?