发表于: 2019-05-20 21:13:12
1 993
今天完成的事情:
1.继续学习JavaScript高级程序设计
2.研究js任务3后的深度思考
明天计划的事情:
1.继续学习JavaScript高级程序设计
遇到的问题:
暂无
收获:
1.对一个数组 filter、some、map、foreach的操作分别有什么作用?
使用JavaScript数组常常需要对数组进行遍历、迭代操作。而我们常用的就是for语句对数组进行迭代。
然而在ECMAscript5已经为数组定义了5个迭代的方法,分别是:filter、some、map、foreach、every,下面我们讲讲它们的具体作用。
每个方法都接收两个参数:要在每一项上运行的函数和(可选)运行该函数的作用域对象, 传入这些方法中的函数接收三个参数,数组项的值,该项在数组中位置,和数组对象本身。根据方法不同,作用也不同
every(),对数组中每一项运行给定函数,如果该函数每一项都返回true,则返回true
some(),对数组中每一项运行给定函数,如果函数对任意一项返回true,则返回true。
filter(),对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组
forEach(),对数组中每一项运行给定函数,没有返回值。
map(),对数组中每一项运行给定函数,返回每次函数调用的结果组成的数组
2.简述JS中this的指向
与其他语言相比,函数的 this 关键字在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别。
在绝大多数情况下,函数的调用方式决定了this
的值。this
不能在执行期间被赋值,并且在每次函数被调用时this
的值也可能会不同。ES5引入了bind方法来设置函数的this
值,而不用考虑函数如何被调用的,ES2015 引入了支持this
词法解析的箭头函数(它在闭合的执行环境内设置this
的值)。
评论