从 jQuery 中的函数返回一个值
returning a value from a function in jQuery
>我在jquery中有一个函数。 我的函数返回一个值,但是当我检查返回的值时,我得到了一个"NAN",这可能是问题所在:
[CODE]
var vax = ('#textbox1').val();
var newVal = calculateMB(vax,11,3.1);
alert(newVal);
function calculateMB(num,charge,fixed)
{
if(num>50)
var e = num - 50;
var new_e = e * charge;
new_var = new_e / 20;
return (new_var + fixed);
}
[/CODE]
你并不总是给e
赋值,而是在计算中使用它。下面是正确缩进的代码:
function calculateMB(num,charge,fixed)
{
if(num>50)
var e = num - 50;
var new_e = e * charge;
new_var = new_e / 20;
return (new_var + fixed);
}
当num
<=
50 时,e
永远不会获得值(因此保持默认undefined
),因此e * charge
NaN
,NaN
在计算的其余部分传播。
您可能希望:
function calculateMB(num,charge,fixed)
{
var e, new_e, new_var;
e = (num > 50) ? num - 50 : num;
new_e = e * charge;
new_var = new_e / 20;
return new_var + fixed;
}
那里的变化:
我把所有
var
陈述都放在顶部,因为这就是它们的真实位置。我宣布
new_var
,你根本没有宣布,成为隐含全球恐怖的牺牲品。我确保
e
总是被分配一个值。我猜你想e
num <= 50
时num
,但要适当调整。我一致地缩进了代码。执行一致的代码缩进等操作有助于避免错误,并帮助其他人理解您的代码。强烈推荐它。
我认为
div class="answers">这是因为从文本框中读取的数字是一个字符串。尝试var vax = Number(('#textbox1').val());
<</p>
尝试
return (Number(new_var + fixed));
它将变量转换为数字。还要确保传递给 CALCULATEMB 的参数实际上是数字。
相关文章:
- 获取最后一个返回值
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- eval(“{}”) vs eval (“x={}”),一个返回 undefined,而另一个返回 {}
- 如何使用 jQuery 创建一个返回 SQL 结果集的函数
- JavaScriptAJAX调用一个返回XML的PHP
- 在什么情况下,您会使用一个返回另一个函数(Javascript)的函数
- 如何创建一个返回等待EventEmitter的promise的函数
- Angularjs模拟一个返回$http承诺的函数
- 如何编写一个返回单个值的java脚本函数,并将返回的值分配给我们想要的任何变量
- Jasmine-测试一个返回localStorage项的服务
- 创建一个返回函数
- 给定子域中的cookie,您可以编写一个返回代理服务器主机名的javascript函数吗
- 在Javascript中给Number添加一个返回变量
- 如何在angularjs中编写一个返回承诺的异步方法
- HTML4和HTML5 -如果没有导航,我怎么知道是否有一个“返回”状态
- 如何在JavaScript中创建一个返回本地文本文件值的函数?
- 如何声明一个javascript变量并将其值赋给一个返回布尔值的php文件
- 如何在异步测试中测试一个返回承诺的存根
- 从php传递一个返回值给js
- 输入一个返回的可观察对象