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

在HTML头部引入Dinero.js后调用add方法出现getCurrency函数错误

问题描述

我在HTML文件中通过CDN引入了Dinero.js@1.9.1,代码如下:

<script src="https://cdn.jsdelivr.net/npm/dinero.js@1.9.1/build/cjs/dinero.min.js"> </script>
<script>
    Dinero();
    Dinero.defaultCurrency = 'USD'
</script>

在ES6类中使用Dinero时,调用add函数抛出如下错误:

Uncaught TypeError: a.getCurrency is not a function

触发该错误的示例代码:

var dineroObject = Dinero({amount:100})
dineroObject.add(10)

请问我哪里操作出现了问题?

问题原因及解决方法
  • 核心问题:add方法要求参数必须是另一个Dinero实例,你传入的普通数字10不符合方法的参数要求。
  • 错误分析:Dinero.js的add方法会对传入的对象调用getCurrency方法,校验两者的货币一致性。当你传入数字时,数字没有这个方法,就会抛出类型错误。
  • 修正代码:把传入的数字包装成Dinero实例即可:
var dineroObject = Dinero({amount:100})
dineroObject.add(Dinero({amount:10}))

另外,你代码里的Dinero();属于多余的空实例化操作,可直接删除,不影响功能。

内容的提问来源于stack exchange,提问作者Charles Forster

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:41:27