参考:https://blog.fundebug.com/2017/07/17/10-javascript-difficulties/
1.立即执行函数:
创建函数的同时立即的执行,
(function(){})()
2.闭包
函数内部的函数,内部的函数可以访问外部函数的变量。
3.使用闭包定义私有变量。
在函数的内部定义属性,通过函数内部的函数,闭包,来更改返回属性
4.prototype
函数中的一个属性,函数在创建函数实例的时候。还有函数原型和原型对象。prototype即指向原型对象,通过prototype方法可以是的实例之间共用方法。
5.模块化
使用立即执行函数来实现模块化
6.变量提升
JavaScript会将所有变量和函数声明移动到它的作用域的最前面,这就是所谓的变量提升
7.函数的柯里化
连续的调用函数
8.call,apply,bind
函数的this指针的绑定,call传递参数是一个,一个传递的,apply传递的参数是按数组的形式传递的
9.Memoization
Memoization用于优化比较耗时的计算,通过将计算结果缓存到内存中,这样对于同样的输入值,下次只需要中内存中读取结果
10.函数的重载
在js中可以用switch的判断传入参数的length的方式实现重载。也可以用jquery中的方式实现重载。参考https://www.jianshu.com/p/b62884def4ea
网友评论