假设您的第二个完整示例是:  
function doSomething()
    get value1
    get value2
    ...rest of function
}
$('.ep').on('click', doSomething);
那么这两者在功能上是相同的,所以性能是一样的。首先,您要定义一个匿名函数并将其作为参数传递。在第二个中,您将定义一个命名函数并将命名函数作为参数传递。在这两种情况下,都会执行相同的函数体。  
但是,这个例子的性能可能会更好:  
var doSomething = (function(){
    get value1
    get value2
    return function(){
        ...rest of function
    }
})();
$('.ep').on('click', doSomething);
那是因为在这个例子中我们使用了一个立即函数,并在立即函数内部定义了value1andvalue2并返回一个函数来赋值给doSomething。这意味着value1并在立即函数执行时value2分配一次,但是由于 Javascript 闭包,它们都可以在返回的函数内部访问。  
这与前两个示例形成对比,前两个示例都将声明value1,并且value2每次事件触发并运行函数时。