函数

作者: Red_b759 | 来源:发表于2019-12-20 20:19 被阅读0次

一.函数

  1. 把完成特定功能的一段代码抽象出来,使之成为程序中的一个独立实体,起个名字(函数名)。
  2. 可以在同一个程序或其他程序中多次重复使用(通过函数名调用)。
  3. 内置函数,自定义函数
  4. JS函数没有重载一说,只以函数名区分,参数的个数不同并不会影响函数,调用的时候只会执行定义的时候最后一个函数的语句。
function 函数名(参数1名字,参数2名字,……)//函数可以没有形参
{
    语句
    [return 返回值;]//函数可以没有返回值
}

二.封装函数(初级基本步骤)

  1. 写完成特定功能的代码(老老实实的把基本代码写一遍)
  2. 把完成特定功能的代码抽离出来 放到函数中 给函数起一个名字
  3. 把函数中的可变参数提取为形式参数
  4. 确定函数的返回值 return
  5. 调用函数

三.关于函数的返回值return的问题

函数的return值可以有(有的话就返回 既定的值),也可以没有(默认返回undefined);

  • 可以直接在页面看到效果的(将结果直接输出到页面上) 不设置return 值也可以
  • 希望函数可以返回一个新的结果(人为规定函数的返回值)

四.函数的特点

  1. 每次调用函数 会重复执行函数的上下文(从函数中的第一一直执行到最后一行)
  2. 如果存在形式参数,函数每次执行过程中 会用 形式参数 接收对应的 实际参数
    形式参数(函数封装过程中的假设性参数 如果你传了一个值 这个值在函数中怎么运行)
    实际参数(函数在调用过程中真正传入的实际值)

五.函数的作用

  1. 使程序变得更简短而清晰
  2. 有利于程序维护
  3. 可以提高程序开发的效率
  4. 提高了代码的重用性(复用性)

六.递归

简单来说就是自己调用自己,递归需要设置结束条件(递归函数的函数体内一定需要有一个分支是不调用自身的,否则,会无休止地调用下去,引起栈溢出。)
例子:以下为n!的递归;

function fn(n){
    if(n === 1){ //必须要的结束条件,不然就是死循环了
        return 1;
    }
    return n * fn(n-1);
}
fn(3);  //6

六.全局变量和局部变量

1.局部变量

局部变量就是定义在函数内部的变量,这个变量只能在函数内部使用,即作用域范围只是函数内部,另外,形参也是局部变量。

2.全局变量

全局变量就是定义在函数外部的变量,通过关键词(var,let,const)声明的,这个变量在任何函数中都有效,即作用域范围是当前文件的任何地方。

3.作用域

就是起作用的范围。或者说有效范围。

七.全局代码处理过程

  1. 语法解析
    语法分析会在代码执行前对代码进行通篇检查,以排除一些低级错误
  2. 预编译
    预编译发生在代码执行的前一刻(分作用域)
    2.1 全局作用域的预编译
    a. 变量提升 (在代码执行的前一刻,把当前作用域中所有的全局变量的声明,提升到所有代码的最前方 没有通过关键词声明的全局变量 没有变量提升)
    b. 确定函数体(命名函数)
    2.2 局部作用域的预编译
    a. 变量提升 (在代码执行的前一刻,把当前作用域中所有的全局变量的声明,提升到所有代码的最前方 在函数中没有通过关键词声明的变量也是全局变量)
    b. 确定函数体(命名函数)
    c. 把实际参数赋值给形式参数
  3. 解释执行

相关文章

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

  • Oracle中常用函数(SQL)

    Oracle函授有以下几个分类:数字函数、字符函数、日期函数、转换函数、集合函数、分析函数 数字函数: 字符函数:...

  • MySQL函数

    字符函数 数字运算函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 流程函数

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

  • 函数基本知识

    函数 函数的定义: def 函数名() 函数的调用:函数名() #不能将函数调用放在函数定义上方 函数的文档注...

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

  • MySQL基本使用

    函数 常用函数 数学函数 字符串函数 日期函数

网友评论

      本文标题:函数

      本文链接:https://www.haomeiwen.com/subject/ukninctx.html