1、函数声明会被提升到当前作用域的顶部,函数表达式则不会。
2、函数声明一定会有函数名,而函数表达式一般不会有函数名。
3、函数声明不是一个完整的语句,所以不能出现在if-else,for循环,finally,try catch语句以及with语句中,(ECMA规范只允许他们作为顶级语句,但是有的浏览器并不遵循这个规则。)
函数声明是在程序编写前告知编译器关于函数的信息,包括函数的名、函数的类型以及函数的参数类型和个数。这种声明使得编译器能够在后续代码中使用这个函数。函数声明通常包含以下信息:
函数名:标识函数的唯一名称。
函数类型:指出函数将如何返回数据(如int或float)。
参数类型和个数:列出函数需要接受的数据类型及其数量。
函数声明是一种预处理操作,它在代码被实际编译和执行之前发生。通过这样做,编译器可以在函数真正使用时对其进行检查,以确保调用的有效性和安全性。简而言之,函数声明为函数的调用提供了必要的元数据,使其能够被正确地识别和使用