发表于: 2019-11-23 21:01:08

1 1012


今天完成的事情:


完成项目任务分配


完成项目搭建规划


复习知识点



什么是闭包,闭包的优缺点

闭包各种专业文献的闭包定义都非常抽象,我的理解是: 闭包就是能够读取其他函数内部变量的函数。

由于在javascript中,只有函数内部的子函数才能读取局部变量,所以说,闭包可以简单理解成“定义在一个函数内部的函数“。

所以,在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

优点:
1. 逻辑连续,当闭包作为另一个函数调用的参数时,避免你脱离当前逻辑而单独编写额外逻辑。
2. 方便调用上下文的局部变量。
3. 加强封装性,第2点的延伸,可以达到对变量的保护作用。

缺点:
闭包有一个非常严重的问题,那就是内存浪费问题,这个内存浪费不仅仅因为它常驻内存,更重要的是,对闭包的使用不当会造成无效内存的产生



javascript中apply、call和bind的区别

在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。

在说区别之前还是先总结一下三者的相似之处:

1、都是用来改变函数的this对象的指向的。

2、第一个参数都是this要指向的对象。

3、都可以利用后续参数传参

call和apply都是对函数的直接调用,而bind方法返回的仍然是一个函数,因此后面还需要()来进行调用才可以。

call后面的参数与say方法中是一一对应的,而apply的第二个参数是一个数组,数组中的元素是和say方法中一一对应的,这就是两者最大的区别。



箭头函数和普通函数的区别

1,箭头函数是匿名函数,不能作为构造函数,不能使用new

2,箭头函数不绑定arguments,取而代之用rest参数...解决

3,箭头函数不绑定this,会捕获其所在的上下文的this值,作为自己的this值

4,箭头函数通过 call()  或   apply() 方法调用一个函数时,只传入了一个参数,对 this 并没有影响。

5,箭头函数没有原型属性

6,箭头函数不能当做Generator函数,不能使用yield关键字



js的基本数据类型

  • 基本类型:String、Number、Boolean、Sy有mbol、Undefined、Null
  • 引用类型:Object



js有哪些内置对象

Math对象:Math.abs(x);//用来返回数的绝对值

Date对象:var date = new Date();// 通过new的方式创建一个日期对象;

Array对象:var arr=new Array();

字符串对象:var str=new String();




返回列表 返回列表
评论

    分享到