Javascript 关于函数和参数

Javascript 关于函数和参数,javascript,parameters,Javascript,Parameters,Javascript新手,仍然对参数感到困惑 以下是一些代码: var people = [{ name: 'Casey', rate: 60 }, { name: 'Camille', rate: 80 }, { name: 'Gordon', rate: 75 }, { name: 'Nigel', rate:

Javascript新手,仍然对参数感到困惑

以下是一些代码:

var people = [{                                             
  name: 'Casey',                               
  rate: 60
},
{
  name: 'Camille',
  rate: 80
},
{
  name: 'Gordon',
  rate: 75
},
{
  name: 'Nigel',
  rate: 120
}
];

function priceRange(person) {                        
return (person.rate >= 65) && (person.rate <= 90); 
 };

var results = [];                              
results = people.filter(priceRange);           
var people=[{
姓名:'凯西',
收费:60
},
{
姓名:“卡米尔”,
比率:80
},
{
姓名:'戈登',
比率:75
},
{
姓名:“奈杰尔”,
收费:120
}
];
功能价格范围(人){

return(person.rate>=65)&(person.rate函数
Array.prototype.filter()
在调用它的数组中循环,并使用每个元素作为参数调用回调函数。因此,当使用
people.filter(priceRange)
时,
filter()
函数调用
priceRange
人的每个元素
filter()
的代码是这样的(我对其进行了极大的简化,只是为了展示这部分的工作原理):

函数过滤器(回调){
var结果=[];
for(var i=0;i
数据结构:
  • 这是一个数组

  • {attr1:'val1',attr2:'val2',…}
    这是一个文本对象


文档有助于您理解吗?谢谢,我理解filter()是如何工作的,我只是对传递参数的问题更加困惑。我知道person是priceRange()函数中的参数,但是“person”是如何工作的来自以及为什么person.name等于people.name?请记住以下回调规则:您可以为参数选择任何名称(
person
元素
,…
),但是您应该保持顺序(
person
是1ˢᵗ arg,
索引是2ⁿᵈ (等等)
function filter(callback) {
    var result = [];
    for (var i = 0; i < this.length; i++) {
        if (callback(this[i])) {
            result.push(this[i]); // This gets person from people
        }
    }
    return result;
}