前端知识点(20191108)

1、arguments

arguments 是一个对应于传递给函数的参数的类数组对象。

arguments 对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数,第一个参数在索引0处。例如,如果一个函数传递了三个参数,你可以以如下方式引用他们:

arguments[0]
arguments[1]
arguments[2]

arguments对象不是一个 Array 。它类似于Array,但除了length属性和索引元素之外没有任何Array属性。例如,它没有 pop 方法。但是它可以被转换为一个真正的Array:

var args = Array.prototype.slice.call(arguments);
var args = [].slice.call(arguments);

// ES2015
const args = Array.from(arguments);
const args = [...arguments];
常见的类数组还有:
  • getElementsByTagName/ClassName()获得的HTMLCollection
  • querySelector获得的nodeList

2、forEach中return有效果吗?如何中断forEach循环?

中断方法:

  • 使用try监视代码块,在需要中断的地方抛出异常。

  • 官方推荐方法(替换方法):用every和some替代forEach函数。every在碰到return false的时候,中止循环。some在碰到return true的时候,中止循环