调用JavaScript函数的方法的性能问题

时间:2016-11-03 04:16:13

标签: javascript

性能方面是否存在差异:

示例1:

function abc(x,y){
  return x + y;
}

abc();

示例2:

abc();

function abc(x,y){
  return x + y;
}

示例3:

var abc = function(x,y){
  return x + y;
}

abc();

哪个更好,每个的优点和缺点是什么?

2 个答案:

答案 0 :(得分:1)

有两个javascript执行阶段, 1)创作阶段 2)执行阶段

创建阶段:在创建阶段,所有变量和函数都是在变量的情况下使用未定义的值创建的 例如,在你的第二个案件中

abc();

function abc(x,y){
  return x + y;
}

这里函数abc()在其创建阶段定义,所以即使你先调用它也不会给你任何错误。 因为abc()在执行阶段被调用 因为你没有将任何变量传递给函数x,所以在这种情况下y将是未定义的

执行阶段:在执行阶段,调用函数abc,它是在创建阶段定义的。所以无论你在哪里调用函数,都不会出错。

Javascript是同步的

javascript中一个非常重要的东西是LEXICAL ENVIRONMENT 即你的函数或变量所在的位置。其中有词汇环境。

答案 1 :(得分:0)

我认为表现明智没有区别。明智地存在差异