在声明类后定义一些函数时,我遇到了一些问题。
我使用了默认值params
之前在声明函数时,但我不知道是否也可以使用函数或类作为默认参数。
我的代码是这样的
const Matrix = class {/*...some code...*/}
const sigmoid = function(A, flag = false, factor = 1, Matrix = Matrix) {
/*my functions declaration*/
}
这里我遇到了问题。
var result1 = sigmoid( Matrix.dot( [[val1, val2]], res.W1 ) , false, 1)
var result2 = sigmoid( Matrix.dot(result1, res.W2), false, 1)
In the line of
const sigmoid = ...
it said can't access lexical declaration `Matrix' before initialization
最佳答案
通过执行以下操作,您隐藏了声明中的Matrix
标识符:
const sigmoid = function(A, flag = false, factor = 1, Matrix = Matrix) {
// ---------------------------------------------------^
这意味着=
后面的Matrix
是参数,而不是类标识符。
只需使用标准的小写参数名称即可:
const sigmoid = function(A, flag = false, factor = 1, matrix = Matrix) {
// ---------------------------------------------------^
关于javascript - 默认参数的词法声明问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48488873/