JavaScript 19 函数的分类

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>函数</title>
</head>
<body>
<script type="text/javascript">
/*函数:具有执行特定功能的代码段

* 函数的分类:
* 库函数(系统提供的函数 功能已经实现过了 开发者直接调用即可)
* 自定义函数(开发者自己定义的函数):
*/
/*函数定义的语法结构:
* function 函数名(形式参数){
函数体(实行特定功能的代码段)
}
注:如果没有参数,形式参数可以省略;没有返回值,返回值可以省略.有返回值直接return;
函数名要符合命名规范(与变量命名规范一致):
函数名区分大小写
* */
/******预解析:
* 变量的声明和函数的定义会提前****/
/*根据参数和返回值的有无,可分为4种函数:*/
//1.无参数 无返回值
function sayHi(){
document.write("你好");
}
//函数调用:函数名+()
/*函数不调用,函数体不会执行;*/
/*函数就算没有参数,调用时()不能省*/
sayHi();

//2.有参数 无返回值的函数
/*参数:函数在实现时 所需要的数据
* 形式参数(形参) 在函数定义时的参数
* 实际参数(实参) 在函数调用时传入的参数
* 函数调用时,实参传递给形参(拷贝一份给形参提供给函数体内部使用)
* 参数根据需要可以没有也可以有一个或多个,多个参数逗号间隔
*/

function print(a){
console.log(a);
//              alert(a)
}
//调用
print("haha");
function sum(x,y){
console.log(x+y);
}
//调用
sum(3,5);
var a=1,b=5;
sum(a,b);

//3.无参数 有返回值的函数
function getMoney(){
//函数的返回值使用关键字return返回
//return 系统关键字 功能是返回对应的数字 会提前结束函数的执行.只能用在函数内部
return 1000;
//return 后的代码不会执行.
alert(111);
}
//函数调用
console.log(getMoney())
//函数若有返回值 一般要接受其返回值
     var m= getMoney();
     
//      alert(m)
//4.有参数 有返回值
function maxValue(x,y){
return x>y?x:y;
}
   var max= maxValue(3,5);
//    alert(max);
           //求三个数的最大值
           /*函数的嵌套调用:
            在函数内部调用另一个函数
            * */
           function maxThree(x,y,z){


            return maxValue(maxValue(x,y),z);
           }
           var Max=maxThree(3,5,8);
//         alert(Max)
          //求4个数
          function maxfour(x,y,z,m){
          return maxValue(maxThree(x,y,z),m);
          }
          var mm=maxfour(2,4,6,8);
//        alert(mm)
          //定义函数:[a,b]随机数
           function randNum(a,b){
            return Math.floor(Math.random()*(b-a+1)+a)
           }
           randNum(1,50);
           /*函数的特点  封装 
            * 把特定功能的代码块封装  使用方便(直接调用即可)
            * 提高代码的复用性
            * 
            */
           /*匿名函数
            * 没有函数名的函数
            */
           //定义一个匿名函数
         /* ( function (参数){
           函数体
          })(匿名函数后加小括号代表调用)*/
           ( function (){
           console.log("hello");
          })();
           //有参数的匿名函数:
           (function(str){
            console.log(str);
           })("nick");
           
           /*函数的实参可以比形参多*/
           function sumValue(){
            console.log(arguments);
            var sum=0;
            for (var i = 0; i < arguments.length; i++) {
            sum+=arguments[i];
            }
            return sum;
           }
          var s=  sumValue(2,4,5,7);
//        alert(s);
           /*函数内的关键字
            * arguments: 将实参存储在调用函数时传入的所有参数;
            * 在用的时候只能在函数内部使用
            * 类数组 (只能获取其中的元素 不能做增加删除插入等修改操作)
            * 
            */
          /*...rest参数
           ...rest参数只能写在后面,前面...标识,调用函数时,传入的参数先绑定,多余的参数以数组的形式存储到rest中
           ES6中新增的,部分浏览器目前不支持
           开发中一般不用
           * */
//        function getValue(a,...nums){
//        console.log(nums.length);
//        for(var i=0;i<nums.length;i++){
//        console.log(nums[i]);
//        }
//       
//        }
          //getValue(1,2,3,4)
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值