add file:ES5中的一些扩展

This commit is contained in:
qianguyihao
2018-04-02 10:21:27 +08:00
parent 6c6b68913b
commit 150b066daa
10 changed files with 714 additions and 31 deletions

View File

@@ -52,7 +52,7 @@ JS提供的绝大多数函数以及我们自己创建的所有函数都可以
### call()和apply()的区别
call()和apply()方法都可以将实参在对象之后依次传递但是apply()方法需要将实参封装到一个**数组**中统一传递。
call()和apply()方法都可以将实参在对象之后依次传递但是apply()方法需要将实参封装到一个**数组**中统一传递(即使只有实参只有一个,也要放到数组中)
比如针对下面这样的代码:
@@ -90,7 +90,7 @@ call()和apply()方法都可以将实参在对象之后依次传递但是appl
看到区别了吗call后面的实参与say方法中是一一对应的而apply传实参时要封装成一个数组数组中的元素是和say方法中一一对应的这就是两者最大的区别。
## call()和apply()的作用
### call()和apply()的作用
- 改变this的指向
@@ -100,13 +100,14 @@ call()和apply()方法都可以将实参在对象之后依次传递但是appl
## bind()
call和apply都是对函数的直接调用而bind方法返回的仍然是一个函数因此后面还需要()来进行调用才可以。
- 都能改变this的指向
bind与call和apply的不同点在于callapply会自动执行对应的函数bind不会执行对应的函数。
- call()/apply()是**立即调用函数**
推荐链接:
- bind()是将函数返回,因此后面还需要加`()`才能调用。
bind()传参的方式和call()一样。
-
参考链接: