Javascript变量函数

时间:2016-06-19 14:23:02

标签: javascript

我为一个网站购买了一个模板我试图帮助我的朋友节食和修改东西以满足我的需求。

我试图编辑用于计算人的基础代谢率的javascript函数。

部分代码:

function calc_BMR() {
var a;
a = "kilo" == $("[name=weight_select]").val() ? parseFloat($("[name=Weight]").val()) : 6.23 * parseFloat($("[name=Weight]").val()) / 13.7;
var b = "cm" == $("[name=height_select]").val() ? parseFloat($("[name=Height]").val()) : 12.7 * parseFloat($("[name=Height]").val()) / 5, c = parseFloat($("[name=Age]").val());
if (0 >= b || 0 >= a || 0 >= c)
    return $("#indicator").text("Please complete the form!"), $("#bmr_value").text(""), -1;
a = $("input[name=Male]").prop("checked") ? 5 + 10 * a + 6.25 * b - 5 * c : 655 + 9.6 * a + 1.8 * b - 4.7 * c;
0 >= a ? ($("#bmr_value").text(""), $("#indicator").text("No kidding.Did you input the right value")) : ($("#bmr_value").text(a.toFixed(2)), $("#indicator").text("See your customized data below:"));
return a
}

我发现男性和女性之间的关系很难理解,我认为结肠左侧是男性,右侧是女性。但是,如果我改变公式以匹配我的公式,似乎我在右侧改变的东西会影响左侧的值而不是相反的方式。

如果我编辑它,公式的左侧给出了正确的结果,但右侧没有。我不确定它是如何运作的......

我也试图删除公制或英制单位的选项,我假设名称=权重参数的内容允许选项,但我不知道如何编辑它以便它只使用一个名字=重量值。高度值也是如此。

我一直能够看看html,css和php,并且通过思考代码是如何逻辑地编写而我自己喜欢编辑它,但这让我很难过。

很抱歉,我是懒惰而不是从头开始学习javascript,我只需要快速完成工作!

1 个答案:

答案 0 :(得分:0)

由于此代码中充斥着三元运算符,这似乎是您遇到的最大问题。

基本语法:

condition ? a : b

相同
if (condition) {
  a
} else {
  b
}

对于权重:如果您要使用kilo,只需移除整行,并将a设置为parseFloat($("[name=Weight]").val())

同样适用于身高。

你认为对男性的改变位于结肠左侧并且对女性的改变位于右侧是正确的。但是,如果您需要任何进一步的帮助,您必须准确发布您要更改的内容以及您想要的结果。