NaN的Javascript问题

NaN的Javascript问题,javascript,Javascript,我是js的初学者,有人帮我编写了一个js代码,在修改数量和计算列总数时计算列。这段代码可以很好地工作,但不适用于两件事。当字段是类似“nc”的文本(html示例的第26行,也可以是其他文本)但我需要字段中显示的文本时,以及当默认值是十进制数(如html示例的第20行0,9)时,我得到结果NaN。如何修改代码以解决这两个选项 (函数(){ let table=document.querySelector(“#营养”) 设tBodyElems=table.querySelector('tbody'

我是js的初学者,有人帮我编写了一个js代码,在修改数量和计算列总数时计算列。这段代码可以很好地工作,但不适用于两件事。当字段是类似“nc”的文本(html示例的第26行,也可以是其他文本)但我需要字段中显示的文本时,以及当默认值是十进制数(如html示例的第20行0,9)时,我得到结果NaN。如何修改代码以解决这两个选项

(函数(){
let table=document.querySelector(“#营养”)
设tBodyElems=table.querySelector('tbody')
让trElems=[…tBodyElems.querySelectorAll('tr')].map(tr=>{
设td=[…tr.querySelectorAll('td')]
td.input=tr.querySelector('input'))
td.tr=tr
返回td
})
设tFoot=table.querySelector('tFoot')
让tFootTd=[…tFoot.querySelectorAll('td')]
const updateTotal=函数(){
tFootTd.forEach((tdFoot,i)=>{
如果(i==0){
返回
}
如果(i==1){
让total=trElems.reduce((a,e)=>{
返回一个+(parseInt(e.input.value))
}, 0)
tdFoot.textContent=总计
}否则{
让total=trElems.reduce((a,e)=>{
返回a+(parseFloat(e[i].dataset.curValue)| | parseFloat(e.input))
}, 0)
tdFoot.textContent=Math.ceil(总计*1000)/1000
}
})
}
常量updateRow=函数(TreElement){
让value=parseFloat(treelement.input.value.replace(',','))
如果(值===NaN){
返回
}
[…TreElement].splice(2).forEach(e=>{
让newValue=Math.ceil(parseFloat(e.dataset.for100)*value)/100
e、 textContent=newValue
e、 dataset.CurvValue=newValue
})
}
const updateAll=函数(){
trElems.forEach(updateRow)
updateTotal()
}
const debounce=函数(func、wait、immediate){
var超时;
返回函数(){
var context=this,
args=参数;
var later=function(){
超时=空;
如果(!immediate)函数应用(上下文,参数);
};
var callNow=立即&&!超时;
clearTimeout(超时);
超时=设置超时(稍后,等待);
if(callNow)funct.apply(上下文,参数);
};
};
addEventListener('DOMContentLoaded',updateAll)
trElems.forEach(tr=>{
tr.input.addEventListener('keydown',去盎司(()=>{
updateRow(tr),updateTotal()
}, 250))
})
})()

营养素
Poids(Gr)
能源kJ
能量kcal
蛋白质
疼痛烧烤,家庭式:
1430
336
0,9
卡比劳德,cuitála vapeur:
350
数控
18,6
全部的
60gr
350
82,7
18,6

在js
NaN!==if(value==NaN){…}
中用
if(isNaN(value)){…}
替换您的语句NaN-您不能像检查
值===NaN
如果使用
如果(值===NaN){return treelement;}
这样检查它,这并不能提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-@约书亚,我明白了。我会尽量给出一个更完整的答案,或者要求澄清,或者删除答案。请有人能帮我吗?