Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/jQuery设计问题:性能_Javascript_Jquery - Fatal编程技术网

Javascript/jQuery设计问题:性能

Javascript/jQuery设计问题:性能,javascript,jquery,Javascript,Jquery,以下三种风格之间是否存在性能/记忆命中差异 附件A: var func = function() { // do some magic } $("#div").somePlugin({someEvent: func}); 附件B: $("#div").somePlugin({someEvent: function() { // do some magic }); 附件C: function func() { // do some magic } $("#div")

以下三种风格之间是否存在性能/记忆命中差异

附件A:

var func = function() {
    // do some magic
}

$("#div").somePlugin({someEvent: func});
附件B:

$("#div").somePlugin({someEvent: function() {
    // do some magic
});
附件C:

function func() {
    // do some magic
}

$("#div").somePlugin({someEvent: func});

我想说的是,没有什么性能上的冲击,更多的是重复使用/风格上的东西。在A和C中,
func
都可以重用,这在某些情况下很有用。使用B,可以封装通常需要的功能


我更喜欢C,因为它更易于阅读,并且可以在不重构的情况下重用。

函数表达式的性能可能会稍微好一点(实际上稍微好一点):

var func = function(){
};
这就是所谓的函数表达式。另一方面,
函数语句
是您的第三个示例:

function func(){
}
函数语句是通过
ECMA-/Javascript
在内部转换为函数表达式的,所以这就是(!)可能稍微快一点的原因,但实际上,没什么好担心的


您的B:示例显示了一个
匿名函数
,它对AC的性能也没有影响。发布后,您不应该对问题进行大幅度更改:)“大幅度”有点多,不是吗?是的,事实上,第一对第三有更多的含义,改变了问题的范围。@Nick好吧,让我们看看一个令人震惊的回答!