JS高级(四)
call方法
- 调用一个对象。调用函数的方式,但是可以改变函数this 的指向。
- fun.call(thisArg, arg1, arg2);
- thisArg: 在fun函数运行时指定的this值
apply方法
-
应用
- 和数组建立联系
-
求数组中最大值
-
Math.max.apply(arr, arr); Math.max.apply(什么都行,没有this, 需要传入的数组,apply后面参数只能是数组格式的参数);
-
bind方法
- bind()方法不会调用函数。但是能改变函数内部this指向。
- bind(this需要指向的对象,参数)
- 返回一个改变了this指向的新函数
开启严格模式
- 严格模式下this指向问题
- 严格模式下普通函数 this指向 undefined
- 函数变化
- 不许出现重名参数
高阶函数
- 把函数当做参数传递
- 把函数当做返回值返回
m && m();
闭包
- 变量作用域
- 函数的返回值谁调用给谁
- 局部变量在函数执行完成之后销毁
- 函数在调用完成之后会将返回值返回给调用者,把返回值带回去
什么是闭包
- 作用:延伸变量作用范围
- 一个作用域访问另外一个函数内部的局部变量
- Closure 闭包针对变量来说
递归
- 函数自己调用自己
- 执行有两个阶段
- 先是递归阶段
- 然后是返回阶段
我命由我不由天,自己的路自己做主!

浙公网安备 33010602011771号