-1

我正在尝试以更短的方式编写脚本,但它不起作用..

正如我所见,这不是很清楚..所以:这里所有的代码..

 $(document).ready(function(){

$('button').click(function(){
 var benen = $('[name=benen]').val();


 var zadelmaat = benen * 1.89;
var kadermaat = benen * 0.69; 

var remainder = zadelmaat % 2;
if(remainder % 2 == 0)
{
return zadelmaat;
}else
{
zadelmaat = zadelmaat - remainder;
}

var remainder = kadermaat % 2;
if(remainder % 2 == 0)
{
return kadermaat;
}else
{
kadermaat = kadermaat - remainder;
} 

$('.zadelmaat').append(zadelmaat);
$('.kadermaat').append(kadermaat);
return false;

});
});

这对我行得通!但我想要改变的是写一个简单的函数来摆脱剩余的(以防万一)!

我希望现在更清楚...

谢谢!

4

4 回答 4

1

您将值传递给函数,而不是指针。要使其工作,您必须添加return x;到 else 子句。

于 2013-07-01T16:42:48.590 回答
1

将您的功能更改为:如果不是 ==0,您只会返回不同的值

function getRemainder(x) { 
    var remainder = x % 2;
    if(x % 2 != 0) {
        x = x - remainder;
    }
    return x
 }
于 2013-07-01T16:47:09.307 回答
1

有人编辑了您的代码,这似乎是无效的编辑,因为它确实改变了问题/问题。

函数的简化代码:

function getRemainder (x) {
   return x % 2 === 0 ? x : x = x - x % 2;
};

我从示例小提琴中的原始代码中做出了一些假设:http: //jsfiddle.net/eqQzM/

警报“28:6”

于 2013-07-01T16:50:44.913 回答
1

这将做到:

function getRemainder(x) { 
    var remainder = x % 2;
    return x - remainder;
}

如果余数不为 0,您会忘记return结果。而且您不需要显式测试,因为x - 0 == x.

于 2013-07-01T16:53:58.767 回答