• JavaScript(六)-函数


    函数:定义函数

    定义方式

    第一种定义方式:可在后面定义前面调用.可提前调用

        function gg(){
          console.log("函数内部的代码");
        }

    第二种定义方式:必须先定义后面执行,提前调用报错

        // b();//报错 -- let定义的函数不可以提前调用
        let b = function(){
          console.log("这是函数b");
        };
        //只能在定义之后调用
        b();

    函数的作用域

    一个变量起作用的区域:全局变量(全局作用域),局部变量(局部作用域)
    作用域链:要使用某个变量的时候,先从自身作用域开始查找,自己有就用自己的,自己没有再从父级作用域开始查找,依次类推,直到全局为止。
    1.不允许从父级作用域访问子级作用域,允许从子级作用域访问父级作用域,
    2.作用域不同,变量名是可以重复到的.
    3.同级之间无法访问
        //全局变量
       let a = 10; function x(){     
     //局部变量 let a = 20; function y(){ console.log(a); } y(); } x(); console.log(a);

    函数表达式

    通常我们需要定义函数之后,再才能用 函数名() 的形式自执行,函数表达式可以直接在后面加小括号自执行执行。

    开发单独功能模块,方便代码后期整理,优化

        (function(){
          console.log("函数内部代码");
        })();
    
        //其他的函数表达式写法
        (function(){
          console.log("函数表达式自执行2");
        }());
    
        +function(){
          console.log("函数表达式自执行3");
        }();
    
        -function(){
          console.log("函数表达式自执行4");
        }();
    
        ~function(){
          console.log("函数表达式自执行5");
        }();
    
        !function(){
          console.log("函数表达式自执行6");
        }();
        //轮播图
        (function(){
    
        })();
    
        //选项卡
        (function(){
    
        })();
    
        //侧边栏
        (function(){
    
        })();

    有名函数与匿名函数

       //有名函数 
        function gg(){
          console.log("函数内部的代码");
        }*/
    
        //函数自执行
        gg();
    
        //充当事件函数  被执行(注不需要加(),只需要加函数名)
        document.onclick = gg;
       

       //匿名函数
    //充当事件函数的时候,可以用函数名字,也可以直接写一个匿名函数 document.onclick = function (){ console.log("这是一个匿名函数"); };
      
         //匿名函数不能单独出现
         // function(){} //报错
     

    参数

    实参   形参   不定参

    实参:函数自执行时,小括号里面传入的数据;形参:函数定义时,小括号里面写的变量名;不定参:Arguments函数内部的伪数组,用于存储着所有的实参集合;

    函数定义时()写的是形参,函数执行()写的是实参

    函数内部有一个变量 Arguments,Arguments不定参记录所有实参传给形参的集合
    注:当实参传入形参不是一个数据时,自动转换(寻找变量值运算),当实参传入一个函数时,形参自执行即可.
        //功能函数:求和
        function sum( a,b ){ //形参
          console.log(a,b,a + b);
        }
    
        sum( 3 , 4 );//实参
        sum( 3 , 5 );//实参
        sum( 3 , 10 );//实参
    
        //实参多 -- 没有对应的形参来接收多的,但是正常运行不会出错
        sum( 5 , 6 , 7 );
    
        //实参少 -- 没有对应数据的形参就是默认值undefined
        sum( 2 );
      
      
  • 相关阅读:
    Hamming Distance
    变量
    Jupyter Notebook 快捷键使用指南
    XPath使用总结
    selenium调用webdriver异常
    漏洞挖掘 | 远程WWW服务支持TRACE请求
    漏洞挖掘 | 点击劫持
    漏洞挖掘 | 目录浏览漏洞
    漏洞挖掘 | 弱口令漏洞
    浅谈Linux下/etc/passwd文件
  • 原文地址:https://www.cnblogs.com/yhy-blog/p/14242720.html
Copyright © 2020-2023  润新知