<!DOCTYPE html> <meta charset="UTF-8"> <script> //----函数的三种声明方式---- //1、自定义函数: function f1(){ console.log("f1f1f1f1"); } //调用方式: 函数名 f1(); //特点: //(1)函数声明的函数在JS预解析的时候,会提升到作用域的最前面 //(2)函数声明中的函数,可以在声明之前调用 //2、匿名函数(函数表达式): var f2=function(){ console.log("f2f2f2f2"); }; //调用方式: 变量名() f2(); //特点:(1)函数表达式的函数必须在函数表达式之后调用。 //3、自执行函数: (function(){//第一种方法 console.log("test1"); }()); (function(){//第二种方法 console.log("test2"); })(); //特点: //(1)没有名字,一次性用品,立即运行 //(2)避免了函数名的冲突 //----下面的一些注意的问题---- //函数的return:数里是默认有return值的,可以写也可以不写。 不写,默认最后有个return undefined; function f3(){} console.log(f3());//打印出undefined //函数里的return是可以跳出这个函数的,没有return的函数默认最后有个return //注意:若函数里有for循环,那么for循环里的return也是能跳出这个函数的。 function f4(){ for(var i=6;i<10;i++){ console.log(i); return; } console.log("xx"); } f4(); //函数的形参和实参的区别: //形参,顾名思义,形式上的参数。 //实参,顾名思义,实际上的参数。 //形参是自定义函数里的参数,实参是调用函数时用的参数。很多人都搞混了这两个东西。 </script>
效果图: