js中函数声明和函数表达式

js中函数声明和函数表达式
到目前为止,我们还没有作出函数声明和函数表达式之间的区别。事实上,解析器不把函数声明和以同样的方式表达的功能时,将数据加载到执行环境。Parser将带头读函数声明和可以执行任何代码之前。至于函数表达式,有必要等到解析器执行到它所在的代码行,这将真正被解释和执行:

复制代码代码如下所示:

警报(和(10,10));

函数sum(num1,num2)

{

返回num1 + num2;

}
上面的代码可以正确实现,因为解析器读添加函数声明的执行环境的过程称为函数声明提升代码开始执行之前。当代码进行评估,Javascript引擎函数声明在第一时间把他们的源代码树的顶端。因此,即使一个声明函数的代码在代码称为,Javascript引擎也能提高函数声明的顶部。如果一个函数声明上述更改为一个等价的函数表达式,如下面的示例所示,一个错误发生时,它被执行。

复制代码代码如下所示:

警报(和(10,10));

VaR和=功能(num1,num2)

{

返回num1 + num2;

};
上述代码在运行时会出错,因为函数位于一个初始化语句中,而不是函数声明。换句话说,在执行函数所在的语句之前,对变量和中的函数没有引用。此外,由于第一行代码导致意外标识符(意外标识符)错误,它不会真正执行到下一行。

除了声明和变量访问函数之间的区别之外,函数声明实际上等价于函数表达式的语法。

注意:您还可以调用函数声明和函数表达式,如var和函数(和)},但是,这种语法可能会导致Safari中的错误。
以上是本文的全部内容,希望能对您学习Javascript有所帮助。

tag:函数表达式函数声明电脑软件js

相关内容