Javascript 变量如何命名为';记录';传入函数?
我正在尝试构建一个pivot表&当时使用的是一个开源代码,并对这个函数进行了摸索。 记录[]如何传递到此函数?似乎没有传球或任何宣布。怎么能直接来 整个代码可以在这里找到 我试着在整个模块中查找record[]变量,因为它只能直接使用。找不到分配值的位置Javascript 变量如何命名为';记录';传入函数?,javascript,reactjs,Javascript,Reactjs,我正在尝试构建一个pivot表&当时使用的是一个开源代码,并对这个函数进行了摸索。 记录[]如何传递到此函数?似乎没有传球或任何宣布。怎么能直接来 整个代码可以在这里找到 我试着在整个模块中查找record[]变量,因为它只能直接使用。找不到分配值的位置 sum(formatter = usFmt) { return function([attr]) { return function() { return { sum: 0,
sum(formatter = usFmt) {
return function([attr]) {
return function() {
return {
sum: 0,
push(record) {
if (!isNaN(parseFloat(record[attr]))) {
this.sum += parseFloat(record[attr]+10000);
}
},
value() {
return this.sum;
},
format: formatter,
numInputs: typeof attr !== 'undefined' ? 0 : 1,
};
};
};
},
我想使用和修改记录[]中提供的数据
如何使用它?在您的代码示例中,
记录
是函数推送
返回的对象的一个参数,该对象是从匿名函数返回的,该匿名函数是从您的代码示例中的函数sum
返回的,record
是函数push
在从函数sum返回的匿名函数返回的匿名函数返回的对象上的参数。您可以将此代码分解为:
const func = sum(formatter = usFmt) // returns anonymus function([attr]) {}
const func2 = func([attr]) // returns function() {}
const myLiteral = func2() // returns object literal
你的文字如下所示
myLiteral = {
sum: 0,
push(record) {
if (!isNaN(parseFloat(record[attr]))) {
this.sum += parseFloat(record[attr]+10000);
}
},
value() {
return this.sum;
},
format: formatter,
numInputs: typeof attr !== 'undefined' ? 0 : 1,
}
在您的myLiteral
上,您可以
myLiteral.push(myRecord);
您可以将此代码分解为:
const func = sum(formatter = usFmt) // returns anonymus function([attr]) {}
const func2 = func([attr]) // returns function() {}
const myLiteral = func2() // returns object literal
你的文字如下所示
myLiteral = {
sum: 0,
push(record) {
if (!isNaN(parseFloat(record[attr]))) {
this.sum += parseFloat(record[attr]+10000);
}
},
value() {
return this.sum;
},
format: formatter,
numInputs: typeof attr !== 'undefined' ? 0 : 1,
}
在您的myLiteral
上,您可以
myLiteral.push(myRecord);
在这种情况下,最后一个问题是[attr]是从哪里来的?我来自C++背景,在调用函数时传递参数。在这里,以前似乎没有发生过[attr]。它不知从何而来。attr
是从sum
返回的外部匿名函数的(解构)参数。语法可能看起来不熟悉。声明的函数([attr]){…}
接受一个数组参数,并将数组中的第一个元素分配给参数attr
。在这种情况下,最后一个问题是[attr]从何而来?我来自C++背景,在调用函数时传递参数。在这里,以前似乎没有发生过[attr]。它不知从何而来。attr
是从sum
返回的外部匿名函数的(解构)参数。语法可能看起来不熟悉。声明的函数([attr]){…}接受单个数组参数,并将数组中的第一个元素指定给参数attr
。很好。现在看起来更清楚了。最后一个问题,他们是如何在内部使用[attr]的?他们从来没有在sum()函数中传递它。很好的分歧。现在看起来更清楚了。最后一个问题,他们是如何在内部使用[attr]的?他们从未在sum()函数中传递它。