性能方面是否存在差异:
示例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();
哪个更好,每个的优点和缺点是什么?
答案 0 :(得分:1)
有两个javascript执行阶段, 1)创作阶段 2)执行阶段
创建阶段:在创建阶段,所有变量和函数都是在变量的情况下使用未定义的值创建的 例如,在你的第二个案件中
abc();
function abc(x,y){
return x + y;
}
这里函数abc()在其创建阶段定义,所以即使你先调用它也不会给你任何错误。 因为abc()在执行阶段被调用 因为你没有将任何变量传递给函数x,所以在这种情况下y将是未定义的
执行阶段:在执行阶段,调用函数abc,它是在创建阶段定义的。所以无论你在哪里调用函数,都不会出错。
Javascript是同步的
javascript中一个非常重要的东西是LEXICAL ENVIRONMENT 即你的函数或变量所在的位置。其中有词汇环境。
答案 1 :(得分:0)
我认为表现明智没有区别。明智地存在差异