JavaScript中的函数---通过function关键字定义函数

JavaScript中的函数—通过function关键字定义函数

一 function函数名称([参数,…]) {
代码段;
return 返回值;
}

注意:

(1)函数名称不要包含特殊字符;

(2)函数名称最好含义明确;

(3)函数名称最好遵循驼峰标记法或者下划线法;

(4)函数名称严格区分大小写;

(5)函数名称如果重复会产生覆盖;

(6)函数可以有参数也可以没有参数,可以有一个参数也可以有多个参数;

(7)函数通过return加返回值,如果没有return默认返回undefined

(8)函数不调用不执行。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script type="text/javascript">
        //test();
        function test(){
            alert('this is a test');
        }
        //test();
        //函数名称严格区分大小写
        function TEST(){
            alert('hello king');
        } function test(){
            alert('this is a test');
        }
        //TEST();
        //名称重复会产生覆盖
        //test();
        function test(){
            alert('hello maizi');
        }
        // test();
        function test1(){
            alert('this is test1 function');
        }
       // alert(test1());
        function test2(){
            return 1.2;
            alert('this is a test');
            return 1;
        }
        //alert(test2());
        function  calc(num1,num2){
            return num1+num2;
        }
        alert(calc(1,2));
        //alert(window.calc(1,2)) ;
        function calc1(num1,num2){
            num1=num1||1;
            num2=num2||2;
            return num1+num2;
        }
        alert(calc(3,6));
    </script>
</body>
</html>

二 调用函数

1.作为一个函数调用

(1)通过函数名称()调用,如果有参数传递相应参数即可;

(2)在HTML中默认的全局对象是HTML页面本身,所以函数是属于HTML页面。在浏览器中的页面对象是浏览窗口(window对象),所以函数会自动变为window对象的函数,也可以通过window。函数名称()进行调用;

2.全局对象
(1)当函数没有被自身的对象调用时,this的值就会变成全局对象。在web浏览器中全局对象是浏览器窗口window对象。
(2)函数作为全局对象调用,会使this的值称为全局对象。使用window对象作为一个变量容易造成程序崩溃;

3.函数作为方法调用【可以将函数定义为对象的方法进行调用】

4.使用构造函数调用函数【如果在函数调用前使用了new关键字,则调用了构造函数】

5.作为回调函数调用函数
(1)call();
(2)apply();

三 参数

1.函数可以有参数也可以没有参数,如果定义了参数,在调用函数的时候没有传值,默认设置为undefined;

2.在调用函数时如果传递参数超过了定义时的参数,JS会忽略掉多余参数;

3.JS中不能直接写默认值,可以通过arguments对象来实现默认效果;

4.可以通过arguments对象来实现可变参数的函数;

5.通过值传递参数在函数体内对变量做修改不会影响变量本身;

6.通过对象传递参数在函数体内变量做更改会影响变量本身;

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script type="text/javascript">
        //实现默认参数的形式
        //function calc(x,y){
          //  x=x||0;
          //  y=y||0;
          //  return x+y;
       // }
       // function calc(x,y){
           // if(x===undefined){
          //      x=0;
          //  }
          //  y=y===undefined?0:y;
          //  return x+y;
      //  }
      //  alert(calc());
     //   alert(calc(1,3));
        function calc(x,y){
           // return arguments;
            //alert(arguments[0]);
            //alert(arguments[1]);
            x=arguments[0]?arguments[0]:0;
            x=arguments[1]?arguments[1]:0;
            return x+y;
        }
       //alert(calc());
       // alert(calc(1,2));
        //可变参数形式的函数
        function test(){
        var paramsNum=arguments.length;//得到传入参数的个数
        var sum=0;
        for(var i=0;i<paramsNum ;++i){
            sum+=arguments[i];
        }
             return sum;
        }
         //alert(test(1,2,3,4,5,6,7));
        function test1(){
            var paramsNum=arguments.length;
            var max=0;
            for(var i=0;i<=paramsNum-1;i++){
               if(arguments[i]>max){
                   max=arguments[i];
               }
            }
            return max;
        }
        alert(test1(123,4567,177487));
    </script>
</body>
</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值