gpt4 book ai didi

javascript - 在对象中使用数学运算

转载 作者:行者123 更新时间:2023-12-03 11:53:56 25 4
gpt4 key购买 nike

这是一个JS中的单位转换器。当有人转换体积时,输入体积首先转换为升,然后转换为其他单位。计算值自动显示在输入字段中。为此,我创建了一个对象来存储转换值,如下所示:

var volumes={
cbm: 1000,
ltr: 1,
ml: 0.001,
barrel: 158.9873,
gal: 3.785411784,
pint: 0.473176473,
floz: 0.0295735295625,
//and so on
};

对于一个系统的单位之间的转换,我尝试了以下方法:

var volumes={
impfloz: 0.0284130642624675,
imppint: this.impfloz*20,
impbarrel: this.impfloz*5600,
impgal: this.impfloz*160
};

但是没有成功。当我输入一个值时,例如在输入字段“Imperial-Barrel”中,所有其他输入字段显示:NaN。我真的必须为每一个都编写函数吗?这会使代码变得更加复杂并且更难以阅读。有没有办法让对象成员自动应用所需的数学运算?

最佳答案

不,你不能那样做。但有什么问题

var impfloz = 0.0284;
var volumes={
impfloz: impfloz,
imppint: impfloz*20,
impbarrel: impfloz*5600,
impgal: impfloz*160
};

如果您担心 impfloz 变量会污染全局命名空间,您可以将整个事情包装在 IIFE 中。

this 仅在函数内有意义,它指的是调用该函数的对象。

关于javascript - 在对象中使用数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25691190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com