js高级-day04

apply和call方法的用法:

apply方法:1. 函数名.apply(对象,[参数1,参数2...])  2.方法名字.apply(对象,[参数1,参数2...])

call方法:1.函数名.call(对象,参数1,参数2...)    2.方法名字.call(对象,参数1,参数2...)

【第二个参数:函数中或者方法中的形参对应的实参 】

apply和call的作用:改变this指向

bind方法:复制函数时,改变this指向,所以需要接收复制的结果,重新调用

【在函数中使用:var ff= 函数名.bind(对象,参数1,参数2...);

                                                                                         ff();】

【在对象中使用:var ff = 实例对象.方法名.bind(对象,参数1,参数2...);

                                                                                         ff();】

函数作为返回值使用的需求:排序:每个文件都有名字,大小,时间,可以按照某一个属性进行排序

作用域:变量的使用范围。

作用域的变量:全局变量,局部变量。

块级作用域:{}----js中没有块级作用域。

预解析:把函数的声明和变量的声明提升到当前作用域的前面。

闭包:函数A中,有一个函数B(对象B),函数B(对象B)可以使用函数A中定义的变量和数据,此时就形成了闭包。

闭包的模式:①函数模式的闭包,②对象模式的闭包。

闭包的作用:缓存数据,延长作用域链。

闭包的优点和缺点:缓存数据。

沙箱:环境,黑盒,在一个虚拟的环境中模拟真实的环境,做实验,实验的结果和真实世界一样,但是不会影响真实世界

沙箱------匿名函数的自调用

递归:函数中调用自己本身,此时就是递归,递归一定要有结束的条件

猜你喜欢

转载自blog.csdn.net/qq_40104992/article/details/89219356
今日推荐