• JS——函数相关知识汇总


    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

     

    文章目录

    • 前言
    • 一、什么是函数
    • 二、创建函数
    • 三、函数的参数
    • 四、函数的返回值
    • 五、立即执行函数
    • 六、作用域
    • 总结

    一、什么是函数?

    函数——在javascript中函数是一段可以被执行或调用任意次数的JavasScript代码,在数据类型中属于"function"。


    二、创建函数

    1.函数的声明形式创建

    语法:

     function  函数名( ){
              语句
     }

    2.函数表达式创建

    语法:

    var  函数名 = function( ){
              语句
    };

    3.函数的声明提前

    • 使用函数声明形式创建的函数function函数 (){ }它会在所有的代码执行之前就被创建,所以我们可以在函数声明前来调用函数
    • 使用函数表达式创建的函数,不会被提前声明,所以不能被提前调用

    三、函数的参数

    1.函数的形参

    function  fun1( [形参1,形参2,……形参n]){
              语句
    }
    可以在函数的( )中来指定一个或多个形参,多个形参之间用,隔开,声明形参就相当于在函数内部声明了对应的变量,但并不赋值。

    2.函数的实参

    fun1 ( 实参1,实参2,……实参你);

    在调用函数时,可以在( )指定实际参数,实参将会赋值给函数中对应的形参,浏览器不会检查,实参的数据类型以及个数,所以何种数据类型包括可以是函数,对象,或者多个,一个实参均可,多余实参不会被赋值,实参的数量少于形参的数量,则没有对应实参的形参将是 undefined,或者实参没有传递,形参也是undefined。

    四、函数的返回值

    1.返回类型

    返回类型可以是任意数据类型,包括函数,以及对象。

    2.return后的值

    return 后的值将会作为函数的执行结果返回,可以定义一个变量,来接收该结果,可以在调用函数时,设置一个变量,变量的值就是函数的执行结果
    1. 函数中return 后的语句都不会被执行 
    2. 如果return语句不跟任何值就相当于返回一个undefined
    3. 如果函数中不写return,则也会返回undefined
    4. return后可以跟任何数据类型的值
    示例: 函数中return 后的语句都不会被执行 
    1. function sum(a,b,c ){
    2. var d=a + b + c;
    3. return d;
    4. alert("hello"); //函数中return 后的语句都不会被执行
    5. }
    6. var result = sum(1 , 2, 3 ); 后面半部分为调用函数
    7. console.log = ("result = " +result);

    五、立即执行函数

    立即执行函数——函数定义完就立刻被调用,往往只会执行一次
    示例: 
    (function( ){
       alert("我是一个立即函数~~~");
    }) ( );
    就像如上例子,a( ) ( )   可以理解为: a( )是 对象,只不过没有指定具体函数对象, 后面的()是调用函数

    六、作用域(Scope)

    1.全局作用域

    •  直接编写在script标签中的JS代码,都在全局作用域
    •  全局作用域在页面打开时创建,在页面关闭时销毁
    •  在全局作用域中有一个全局对象window,代表的是一个浏览器的窗口,由浏览器直接创建
    • 在全局作用域中 所创建的变量都会作为window对象的属性保存
    • 所创建的 函数都会作为window对象的方法保存
    • 全局作用域中的变量都是全局变量,在页面的任意部分都可以访问
    例如   var a=123;   
         console.log(window.a);   //也可以把该变量输出

    2.函数作用域

    • 调用函数时创建函数作用域,函数执行完毕以后,函数作用域销毁
    • 每调用一次函数就会创建一个新的函数作用域,他们之间是互相独立的
    • 在函数作用域中可以访问到全局作用域的变量,全局作用域中无法访问函数作用域的变量
    • 当在函数作用域中操作一个变量时,它会先在自身作用域中寻找,如果有直接使用,如果没有则向上一级作用域中寻找,直到找到,如果在全局作用域中还没有找到,则会报错  ReferenceError
    • 在函数中访问全局变量可以使用windown对象
    • 在函数作用域也有声明提前的特性 ——使用var关键字声明的变量,会在函数中所有的代码执行之前被声明,只是没有被赋值,函数声明也会在函数中所有的代码执行前执行
    • 在函数中不使用  var  声明的变量都会被作为全局变量
    示例:
    1. var a=123;
    2. function fun(){
    3. alert(a);
    4. var a=456;   //使用var 关键字声明的变量,在执行之前就已经被声明只是没有赋值,相当于在alert(a)之前有一句  var a;   所以会输出  undefined,未定义
    5. fun();
    6. alert(a);
    7. 输出结果为: undefined    
    8.             123

    总结

    今日的分享就到这里,如果这篇文章可以帮助到你,哪怕是一点点,我都深感荣幸。依旧诚挚祝福屏幕前的你健康幸福,平安喜乐。

  • 相关阅读:
    基于Chrome扩展的浏览器可信事件与网页离线PDF导出
    隆云通空气温湿、CO、PM2.5、PM10五参数
    UVA-1343 旋转游戏 题解答案代码 算法竞赛入门经典第二版
    异步非阻塞python3代码
    嵌入式硬件VS软件,到底哪个更难?
    深入浅出大数据:88页Hadoop实战手册,重视实操易于理解
    NTT和它的常数技巧
    北大图灵班学子斩获全球竞赛本科生第一名,攻关EDA“卡脖子”技术难题
    基于Linux的Spark安装与环境配置
    听书项目开发过程及重难点总结
  • 原文地址:https://blog.csdn.net/Bonsoir777/article/details/126332633