JavaScript手写原理与实现(必备原理)
一、call
这个call有啥特点呢,就是调用的时候,第一个参数是this指向的对象,从第二个参数开始就是函数接受的参数数据
![](https://upload-images.jianshu.io/upload_images/8054470-86d85f52ec423b33.png?imageMogr2/auto-orient/strip|imageView2/2/w/1114/format/webp)
二、apply
![](http://upload-images.jianshu.io/upload_images/8054470-eb9814a3fb5d9971.png?imageMogr2/auto-orient/strip|imageView2/2/w/940/format/webp)
三、bind
![](http://upload-images.jianshu.io/upload_images/8054470-a9082a6c5fd9900d.png?imageMogr2/auto-orient/strip|imageView2/2/w/1020/format/webp)
四、防抖
![](http://upload-images.jianshu.io/upload_images/8054470-3d5ee3017ae4b1ed.png?imageMogr2/auto-orient/strip|imageView2/2/w/1130/format/webp)
五、节流
![](http://upload-images.jianshu.io/upload_images/8054470-35d2c126d5d3c3f5.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
六、冒泡
七、快排
![](http://upload-images.jianshu.io/upload_images/8054470-25b14195bb413ce8.png?imageMogr2/auto-orient/strip|imageView2/2/w/1138/format/webp)
八、选择
![](http://upload-images.jianshu.io/upload_images/8054470-59d5027e4eaf026d.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
九、插入
![](http://upload-images.jianshu.io/upload_images/8054470-2d8b533605e01af6.png?imageMogr2/auto-orient/strip|imageView2/2/w/1188/format/webp)
十、new
![](http://upload-images.jianshu.io/upload_images/8054470-2ee4245cf1057239.png?imageMogr2/auto-orient/strip|imageView2/2/w/864/format/webp)
十一、instanceof
![](http://upload-images.jianshu.io/upload_images/8054470-38922a74db34a7a3.png?imageMogr2/auto-orient/strip|imageView2/2/w/1092/format/webp)
十二、Object.create
![](http://upload-images.jianshu.io/upload_images/8054470-d939ccd94aed2a2c.png?imageMogr2/auto-orient/strip|imageView2/2/w/780/format/webp)
十三、事件委托
![](http://upload-images.jianshu.io/upload_images/8054470-777d959174589b07.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
十四、柯里化
![](http://upload-images.jianshu.io/upload_images/8054470-5cc5b1c64c97d013.png?imageMogr2/auto-orient/strip|imageView2/2/w/1156/format/webp)
这个call有啥特点呢,就是调用的时候,第一个参数是this指向的对象,从第二个参数开始就是函数接受的参数数据