call方法
- 调用一个对象。调用函数的方式,但是可以改变函数this 的指向。
- fun.call(thisArg, arg1, arg2);
- thisArg: 在fun函数运行时指定的this值
apply方法
bind方法
- bind()方法不会调用函数。但是能改变函数内部this指向。
- bind(this需要指向的对象,参数)
- 返回一个改变了this指向的新函数
开启严格模式
- 严格模式下this指向问题
- 严格模式下普通函数 this指向 undefined
- 函数变化
高阶函数
- 把函数当做参数传递
- 把函数当做返回值返回
m && m();
闭包
- 变量作用域
- 函数的返回值谁调用给谁
- 局部变量在函数执行完成之后销毁
- 函数在调用完成之后会将返回值返回给调用者,把返回值带回去
什么是闭包
- 作用:延伸变量作用范围
- 一个作用域访问另外一个函数内部的局部变量
- Closure 闭包针对变量来说
递归
JS高级(四)
原文:https://www.cnblogs.com/itxcr/p/11600105.html