什么是函数:函数
函数是完成某一功能的代码段。this
函数是可重复执行的代码段。spa
函数方便管理和维护。code
自定义一个函数:对象
经过function关键字来定义一个函数。blog
语法:ip
function 函数名称([能够带参数,也能够不带参数,能够带一个参数,能够带多个参数]){io
执行的代码段;function
return返回值;class
}
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>