JavaScript函数进阶

2017-11-08  本文已影响25人  陈老板_

函数定义

区别

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

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

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

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

函数调用

函数调用模式

this指向全局变量

方法调用模式

this指向调用者

构造函数调用模式

this指向被构造的对象

apply(call)调用模式

this指向第一个参数

Array-like

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

函数传参

按值传递

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

按共享传递

闭包

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

功能

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

first-class function

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

功能

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

上一篇 下一篇

猜你喜欢

热点阅读