a
和 b
是由 Array.prototype.sort()
方法提供给排序函数的参数。这是 JavaScript 语言规范中定义的行为。
在 Array.prototype.sort()
方法中,当排序函数作为参数传递给 sort()
方法时,排序函数会被多次调用,每次调用时会传入两个参数 a
和 b
。这些参数 a
和 b
分别代表数组中的两个元素,用于进行排序比较。
根据排序函数的返回值确定排序结果:如果排序函数返回一个小于 0 的值,那么 a
将被排在 b
之前;如果排序函数返回一个大于 0 的值,那么 a
将被排在 b
之后;如果排序函数返回 0,那么 a
和 b
的相对位置不变。
sortNum
函数接受 a
和 b
作为参数,然后通过 a - b
来进行升序排列。这是因为当 a
大于 b
时,a - b
的结果为正数,a
将被排在 b
之后;当 a
小于 b
时,a - b
的结果为负数,a
将被排在 b
之前。
综上所述,你之所以可以使用 a
和 b
进行升序或降序排序,是因为这是 JavaScript 语言规定的 Array.prototype.sort()
方法的行为,而不是我们组件定义的变量。