函数在每一门语言中都是具有非常高度的地位的,在JavaScript中同样也是占据极大的地位,对于函数是什么,以及对函数的认识所谓了解少之甚少。
普通函数:
function show(){
document.write('hello');
}
show();//调用上边函数
当然函数也可以自调用,例如上例
(function show(){
document.write("hello");
})();
大家可以仔细观察两次调用方法有什么不同,会发现变化;
知识点:当函数不被调用时,函数内部的代码是不会被运行的,如果将调用顺序颠倒,先调用,再定义函数也是可以的。为什么呢?
函数的提升
为什么可以呢?原因是提升(Hoisting)是 JavaScript 默认将当前作用域提升到前面去的的行为
其实函数声明和函数表达式是有区别的。实际上解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用,至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。请看下面的例子:
alert(sum(1,1));
function sum(num1,num2){
return num1+num2;
}