You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jsonData与count变量拼接时出现NaN值问题

解决JavaScript拼接时返回NaN的问题

嘿,我一眼就看出问题出在哪了!你遇到的NaN是因为JavaScript把jsondatareg.recibido和i当成数值在做加法,而不是字符串拼接。

问题根源

当你写jsondatareg.recibido+i的时候,如果jsondatareg.recibido是从JSON解析出来的数值类型,或者循环变量i本身是数字,JavaScript的+运算符会优先执行数值加法逻辑。如果其中一个值无法被转换为有效的数字,最终就会返回NaN。

两种修复方案

方案1:强制触发字符串拼接

你可以通过添加空字符串的方式,把数值强制转为字符串,记得给属性访问加括号避免优先级问题:

$('#recibido'+i).html( (jsondatareg.recibido) + '' + i );
console.log( (jsondatareg.recibido) + '' + i );

方案2:用ES6模板字面量(更简洁优雅)

模板字面量用反引号`包裹,变量通过${}嵌入,会自动处理字符串拼接,可读性拉满:

$('#recibido'+i).html( `${jsondatareg.recibido}${i}` );
console.log( `${jsondatareg.recibido}${i}` );

修改后的完整代码

这里是替换后的完整代码示例:

var params = '&cedula='+cedula; 
$.post('classes/recibirDatos', params, function(jsondatareg){ 
  for(var i = 0; i < jsondatareg.contador; i++){ 
    // 用模板字面量实现字符串拼接
    $('#recibido'+i).html( `${jsondatareg.recibido}${i}` ); 
    console.log( `${jsondatareg.recibido}${i}` ); 
  } 
},'json');

这样就能确保两个值被当作字符串拼接,而不是数值运算,NaN的问题就解决啦!

内容的提问来源于stack exchange,提问作者Juan Molina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:49:30