Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript分析错误:意外错误_Javascript_Reactjs - Fatal编程技术网

Javascript分析错误:意外错误

Javascript分析错误:意外错误,javascript,reactjs,Javascript,Reactjs,我在函数声明中遇到错误 分析错误:意外 这是我的密码: class Item extends Component { function changeNumberFormat(number, decimals, recursiveCall) { //Parsing error : Unexpected Error const decimalPoints = decimals || 2; const noOfLakhs = number / 100000;

我在函数声明中遇到错误

分析错误:意外

这是我的密码:

class Item extends Component {
    function changeNumberFormat(number, decimals, recursiveCall) { //Parsing error : Unexpected Error
        const decimalPoints = decimals || 2;
        const noOfLakhs = number / 100000;
        let displayStr;
        let isPlural;

        // Rounds off digits to decimalPoints decimal places
        function roundOf(integer) {
            return +integer.toLocaleString(undefined, {
                minimumFractionDigits: decimalPoints,
                maximumFractionDigits: decimalPoints,
            });
        }

        if (noOfLakhs >= 1 && noOfLakhs <= 99) {
            const lakhs = roundOf(noOfLakhs);
            isPlural = lakhs > 1 && !recursiveCall;
            displayStr = `${lakhs} Lakh${isPlural ? 's' : ''}`;
        } else if (noOfLakhs >= 100) {
            const crores = roundOf(noOfLakhs / 100);
            const crorePrefix = crores >= 100000 ? changeNumberFormat(crores, decimals, true) : crores;
            isPlural = crores > 1 && !recursiveCall;
            displayStr = `${crorePrefix} Crore${isPlural ? 's' : ''}`;
        } else {
            displayStr = roundOf(+number);
        }

        return displayStr;
    }
    ...
    }
类项扩展组件{
函数changeNumberFormat(数字、小数、递归调用){//分析错误:意外错误
常量小数点=小数点| | 2;
const noOfLakhs=数量/100000;
让我们展示str;
让我来看看吧;
//将数字舍入为小数点后的小数位数
函数舍入(整数){
return+integer.toLocaleString(未定义{
最小分数位数:小数点,
最大分数位数:小数点,
});
}
如果(noOfLakhs>=1&&noOfLakhs 1&&recursiveCall;
displayStr=`lakhs}Lakh${isPlural's':''}`;
}否则,如果(noOfLakhs>=100){
const crores=环形交叉口(noOfLakhs/100);
常量crorePrefix=crores>=100000?更改数字格式(crores,小数,真):crores;
isPlural=crores>1&&!递归调用;
displayStr=`${crorepreprefix}Crore${isPlural's':''}`;
}否则{
displayStr=四舍五入(+数字);
}
返回显示str;
}
...
}

看起来我在语法上遗漏了什么。我做错了什么?

您可以这样将函数更改为方法

changeNumberFormat(number, decimals, recursiveCall) { ... }


您可以这样将函数更改为方法

changeNumberFormat(number, decimals, recursiveCall) { ... }


您尝试在react组件内声明函数。最好在组件外声明。

您尝试在react组件内声明函数。最好在组件外声明函数。

声明中声明方法时,不要使用
函数
关键字。如果我不使用function关键字,则表示未定义changeNumberFormat方法。当您递归调用该方法时,您必须告诉我们
this.changeNumberFormat()
类中声明方法时,您不使用
function
关键字。如果我不使用function关键字,则表示未定义changeNumberFormat方法。当您递归调用该方法时,必须使用
this.changeNumberFormat()