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() 方法的行为,而不是我们组件定义的变量。
