码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript(l六)-函数

时间:2021-01-08 11:19:35      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:数组   nbsp   运行   函数表达式   接收   strong   报错   括号   局部变量   

函数:定义函数

定义方式

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

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

第二种定义方式:必须先定义后面执行

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

函数表达式

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

    (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("这是一个匿名函数");
    };

 

函数的作用域

一个变量起作用的区域:全局变量(全局作用域),局部变量(局部作用域)
作用域链:要使用某个变量的时候,先从自身作用域开始查找,自己有就用自己的,自己没有再从父级作用域开始查找,依次类推,直到全局为止。
    let a = 10;
    function x(){

      let a = 20;

      function y(){
        console.log(a);
      }
      y();
    }

    x();
    console.log(a);

参数

实参   形参   不定参

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

    //功能函数:求和
    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 );

 

 

JavaScript(l六)-函数

标签:数组   nbsp   运行   函数表达式   接收   strong   报错   括号   局部变量   

原文地址:https://www.cnblogs.com/yhy-blog/p/14242720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!