js 通过function来定义函数

什么是函数:

函数是完成某一功能的代码段。

函数是可重复执行的代码段。

函数方便管理和维护。

自定义一个函数:

通过function关键字来定义一个函数。

语法:

  function 函数名称([可以带参数,也可以不带参数,可以带一个参数,可以带多个参数]){

     执行的代码段;

      return返回值;

1 <script>
2        alert(demo())         //这个函数是一个全局函数,调用函数的时候可以在函数声明前调用,或者函数声明后调用都可以
3        function demo(){      //通过function关键字来声明一个函数
4            alert("this is a function")    //alert()是执行的一个代码段
5            return 1                       //return是这个函数的返回值
6        }         
7 </script>

 注意:

涵数名称不要包含特殊字符。

函数名字名称最好含义明确。

函数名称最好遵循驼峰标记法或者下划线法。

函数名称严格区分大小写。

涵数名称如果重复会产生覆盖。此例有演示代码:

 1 <script>
 2       //同名函数会被第最后一个覆盖
 3       function demo(){
 4           alert("这是第一个demo1")
 5       }
 6       function demo(){
 7           alert("这是第二个demo2")
 8       }
 9       demo()         //=>输出结果为 这是第二个demo2
10 </script>

函数可以有参数也可以没有参数,可以有一个参数也可以有多个参数

参数的注意:

如果定义了参数,在调用函数时候没有传值,默认设置为undefined 此处有演示代码

1 <script>
2       function demo(num1,num2){
3           return  num1+num2    //num1和num2进行了隐式转换,undefined转换成number类型,结果为NaN,两个NaN相加为NaN
4       }
5       alert(demo())  //=>返回值为NaN
6 </script>

如果在调 用函数时如果传递参数超过了定义时的参数,js将会默认忽略掉多余的参数 此处有演示代码

1 <script>
2           function demo(num1,num2){
3                return num1+num2
4           }
5           alert(demo(1,2,3,4,5)) //=>3 因为多余的参数将会被js自动忽略
6 </script>

js中不能直接写默认值,可以通过arguments对象来实现默认值效果,此处有演示代码:

 1 <script>
 2     //如果在参数里直接设置值,结果会报错,比如(num1=1,num2=2),这种情况下就会报错
 3     function demo(num1,num2) {
 4       /*  num1= num1 != undefined?num1:1;   //这个是用三元运算符来设置默认参数
 5         num2= num2 != undefined?num2:3;*/
 6         num1 = num1 || 1    //当如果调用函数传参的话则使用传参的参数,否则用后面的默认参数
 7         num2 = num2 || 3
 8         return num1+num2
 9     }
10     alert(demo(1,4))  //=>5 这个是设置了参数
11     alert(demo())    //=>4  这个是用了默认设置的参数
12 </script>

函数通过return加返回值,如果没有return,默认返回undefined,此处有演示代码:

1 <script>
2        function demo(){
3            alert("这个是一个有返回值的函数,可以返回所有原始类型的值")
4            return "如果return后面再做什么操作都没起任何效果,遇到第一个return则直接返回值"
5            alert("没有任何效果")    //第一个return后面的执行语句和
6            return false           //返回值都不起任何作用
7        }
8        alert(demo())   //调用时,第一个先弹出alert语句,然后再返弹出返回这个函数的值
9 </script>
原文地址:https://www.cnblogs.com/Ziksang/p/5186253.html