发表于: 2019-04-19 21:49:18
1 636
JS2-4任务总结
用时:21天
任务脑图
任务收获:
对一个数组 filter、some、map、foreach的操作分别有什么作用?
every()
对数组中每一项运行给定函数,如果该函数每一项都返回true,则返回true
filter()
对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组
forEach()
对数组中每一项运行给定函数,没有返回值。
map()
对数组中每一项运行给定函数,返回每次函数调用的结果组成的数组
some()
对数组中每一项运行给定函数,如果函数对任意一项返回true,则返回true。
以上方法都不会修改数组中的包含项
如何理解JS作用域与作用域链?
1.执行环境(execution context)
执行环境定义了变量和函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有与之对应的变量对象(variable object),保存着该环境中定义的所有变量和函数。我们无法通过代码来访问变量对象,但是解析器在处理数据时会在后台使用到它。
执行环境有全局执行环境(也称全局环境)和函数执行环境之分。执行环境如其名是在运行和执行代码的时候才存在的,所以我们运行浏览器的时候会创建全局的执行环境,在调用函数时,会创建函数执行环境。
1.1 全局执行环境
全局执行环境是最外围的一个执行环境,在web浏览器中,我们可以认为他是window对象,因此所有的全局变量和函数都是作为window对象的属性和方法创建的。代码载入浏览器时,全局环境被创建,关闭网页或者关闭浏览时全局环境被销毁。
1.2 函数执行环境
每个函数都有自己的执行环境,当执行流进入一个函数时,函数的环境就被推入一个环境栈中,当函数执行完毕后,栈将其环境弹出,把控制权返回给之前的执行环境。
评论