JavaScript函数进阶

函数定义

区别

用函数声明方式定义一个函数时

1.函数会被前置
2.只有最后一次定义是有效的

用函数实例化方式定义函数时

定义的函数只能访问本地作用域和全局作用域

函数调用

函数调用模式

this指向全局变量

方法调用模式

this指向调用者

构造函数调用模式

this指向被构造的对象

apply(call)调用模式

this指向第一个参数

Array-like

arguments[index] 获取函数实参
arguments.length 获取函数实参个数

函数传参

按值传递

基本类型外部变量传入函数中的只是副本,函数中进行的操作不会影响外部变量。

按共享传递

闭包

当function里嵌套function时,内部的function可以访问外部function里的变量

功能

保存函数执行状态
封装
性能优化

first-class function

JS上的函数可以当做普通变量使用

功能

函数作为参数
函数作为返回值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,663评论 0 5
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 552评论 0 0
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 868评论 0 0
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 335评论 0 0
  • JavaScript语言精粹 前言 约定:=> 表示参考相关文章或书籍; JS是JavaScript的缩写。 本书...
    微笑的AK47阅读 591评论 0 3