zoukankan      html  css  js  c++  java
  • 5、函数、声明提前、作用域及函数参数

    一、函数

    (一)概念及好处

    1、函数就是把特定功能的代码抽取出并进行封装,用来重复执行一些功能。
    2、使用函数的好处:
    (1)函数可以重复某一部分代码(通过函数名调用)
    (2)使程序变得更简短而清晰
    (3)有利于程序维护

    (二)如何声明函数

    1. function关键字声明
    function 函数名(形参){调用函数时执行的代码}
    2. 赋值式
    var 函数名 = function(形参){调用函数时执行的代码}    
    3. 构造函数,不常用 ==> new Function();

    (三)调用函数

    1. 手动执行:函数名()
    2. 事件驱动
    (1)[onclick="函数名()"]
    (2) ele.onclick = 函数名
    (3)ele.onclick = function(){}

    (四) 函数的分类

    1.自定义函数,声明函数
    2.匿名函数 function(){}
    3.内置函数

    二.声明提前

    (一)在js代码执行之前,会将所有的声明提升到当前作用域的最顶端

    (二)按照代码的执行顺序,往下执行代码

    (1) 备注:js代码一旦报错,下面的代码都终止执行了。
    (2) 若使用赋值式声明函数,在函数赋值之前使用函数,会报错 ** is not a function。因为声明提前还没赋值,所以值为undefined,undefined不是函数。
    (3) 若使用关键字function声明函数,能在函数声明代码的前面使用
    1 2 案例: jian();
    3         function jian(){
    4             console.log(888);
    5         }

    三、作用域

    1.概念:某个变量的使用范围,分成全局作用域及局部作用域
    2.分类:
    (1)全局变量:全局作用域下声明的变量(函数外声明的变量)
    (2)局部变量:局部作用域声明的变量(函数内声明的变量)
    3.变量的访问规则(就近原则)
    (1)在函数内查找变量a,若自己内部已经声明该变量,那么使用函数内的该变量
    (2)若在函数内查找不到声明,往函数外一层查找。若找到则使用,找不到继续往外找
    (3)直到找到全局作用域,找到则使用,还找不到则报错,** is not defined。
    4. 作用域链
    当函数访问变量时,根据就近原则从内到外查询变量,这个路径称为作用域链。

    四.函数的参数

    1、形参:在函数声明时的参数(变量)
    2、实参:在函数执行时的参数(值)
    备注: 实参与形参的个数可以不一致。
    3、arguments 函数内部隐藏的对象,类数组,包含着所有实参的信息
    1 案例:function sum(a,b,c){
    2         var a = 1;
    3         var b = 2;
    4         var c = 3;
    5         console.log(a+b+c);
    6     }
    7     sum(1,2,3);
    4、利用arguments可以实现获取到所有的实参,进行任意的操作
  • 相关阅读:
    [linux]w命令和uptime命令查看系统负载
    Gherkin关键字
    Navicat Premium常用快捷键
    linux如何手动释放linux内存
    IDEA报compilation failed:internal java compiler error解决方法
    App功能测试的7大注意点
    手术切口类别
    JAVA中关于Map的九大问题
    Web前端开发规范文档
    Java6 WebService的发布
  • 原文地址:https://www.cnblogs.com/wulongke/p/10492850.html
Copyright © 2011-2022 走看看