函数

作者: 路西法丶L | 来源:发表于2017-03-31 14:11 被阅读38次

函数声明和函数表达式

相同点

  1. 函数是一个值,所以和其他值一样,函数也可以进行被输出、被赋值、作为参数传给其他函数等相关操作,不管函数是以什么方式被定义的,当然和其他值的输出还是有些区别的。
  2. 作为参数传给其他函数。

不同点

  1. 函数声明必须有标识符,也就是常说的函数名;函数表达式可以省略函数名。
  2. 函数声明会提前。
  3. ECMAScript规范中表示,函数声明语句可以出现在全局代码中,或者内嵌在其他函数中,但是不能出现在循环、条件判、或者try/finally以及with语句中。
  4. 可以创建一个函数表达式立即执行。

声明前置

变量声明前置
JavaScript 引擎的工作方式是先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,然后给他初始值undefined,然后才逐句执行程序,这就叫做“变量提升”,也即“变量的声明前置”。
函数声明前置
和变量的声明会前置一样,函数声明同样会前置,如果我们使用函数表达式那么规则和变量一样。
如果我们使用函数声明的方式,那么即使函数写在最后也可以在前面语句调用,前提是函数声明部分已经被下载到本地。

arguments 对象
  1. 在 JavaScript 中,arguments 对象是比较特别的一个对象,实际上是当前函数的一个内置属性。arguments 非常类似 Array,但实际上又不是一个 Array 实例
  2. arguments 对象的长度是由实参个数而不是形参个数决定的。形参是函数内部重新开辟内存空间存储的变量,但是其与 arguments 对象内存空间并不重叠。对于 arguments 和值都存在的情况下,两者值是同步的,但是针对其中一个无值的情况下,对于此无值的情形值不会得以同步。
  3. arguments 对象中有一个非常有用的属性:callee。arguments.callee 返回此 arguments 对象所在的当前函数引用。在使用函数递归调用时可以使用 arguments.callee 代替函数名本身。

函数"重载"

判断传入参数数量
Javascript 的每个函数都带有一个仅在这个函数范围内作用的变量——arguments,它具有 length 属性。有了 length 属性,我们就可以很方便的知道函数传入了几个参数。
判断传入的参数类型
如果函数中并没有提供参数,那么 message 和 who 的值一定为 'undefined'。我们可以使用 typeof message = 'undefined' 来判断是否传入了参数。

立即执行函数

立即执行函数就是:

  • 声明一个匿名函数
  • 马上调用这个匿名函数


    IIFE

    作用:

  1. js中没有块级作用域,用来隔离作用域避免污染,或者截断作用域链,避免闭包造成引用变量无法释放。
  2. 利用立即执行特性,返回需要的业务函数或对象,避免每次通过条件判断来处理。

【注】版权归 Lucifer 所有,转载请联系作者。

相关文章

  • 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/wlqvottx.html