查找数字是否更大

时间:2011-11-03 16:43:21

标签: javascript syntax comparison

我想测试请求参数是否大于12或不是JavaScript。

即使我将q的值更改为12,它也始终将警报“更小”。

当前网址为:www.test.com?id=2

如何在JavaScript中完成?

2 个答案:

答案 0 :(得分:2)

您的代码有效。如果它返回true,则它会发出更大的警报。虽然您应该在语句末尾添加分号。你的代码看起来像这样:

var q = 14;
if (q > 10)
    alert('greater');
else
    alert('Lesser');

Working demo

如Derek所说,如果q === 10,那么它会警告'较小',因为10不超过10。

编辑:在这里,您有2个选项。使用类似PHP的东西使q等于这样的数字:

q = <?php echo $_GET['id']; ?>

请注意,使用此功能会将您的网站打开到各种XSS,因此如果您决定采用这种方式,请稍微了解安全性,不要急于将其上传到实时网站。

或者,如果您只想使用JavaScript,请按照以下方式执行:

q = location.href.substring(location.href.indexOf('id=')+3); //3 is the length of id=
q = parseInt(q, 10); //With substring, you get a string, so you have to parse it

10是基数参数,避免输入010等输入的奇数(如果没有参数则为8)。

答案 1 :(得分:1)

这对我来说很好看。您可能希望在警报之后包含分号以确保安全。此外,您的测试不会考虑“等于”,因此10将报告“较小”,而实际上它等于。