JS中比较的数值如何比较大小

本文介绍了一个JavaScript函数,用于确保用户输入的数字在0到100之间。通过使用`document.getElementById`获取输入值,并利用`parseInt`和`isNaN`函数进行数值验证。
<script type="text/javascript">
function check_num(){
    var num=document.getElementById("num").value;  
    //alert(num);  
    if(isNaN(num)){   //用于检查其参数是否是非数字值
        alert("必须输入入0-100之间的数字!");
        return false;
    }else if(parseInt(num)<=0 || parseInt(num)>100){   //注意‘或’的写法
        alert("必须输入0-100之间的数字!");
        return false;       
    }
}
</script>

其实document.getElementById("num").value;获取的是一个字符串,如果要和数字比较大小的话要用到parseInt()函数。

isNaN() 函数用于检查其参数是否是非数字值。

特别注意:当我的elseif中的判断语句写错以后,前面的alert()函数也不会执行。我认为是一旦JS脚本中语法出了错误,那么整个JS脚本都不会执行。

在 JavaScript 中比较时间的大小,通常通过 `Date` 对象来处理。每个 `Date` 实例表示一个特定的时间点,并可以通过其方法获取时间戳(以毫秒为单),然后直接进行数值比较。 ### 创建和比较时间值 #### 创建时间对象 可以使用以下方式创建 `Date` 对象: ```javascript var date1 = new Date(); // 当前时间 var date2 = new Date('2024-01-01T00:00:00'); // 指定日期时间 ``` #### 获取时间戳 获取时间戳的方法包括: - `getTime()`:返回自 1970 年 1 月 1 日以来的毫秒数。 - `Date.now()`:直接返回当前时间的毫秒数,不需创建完整的 `Date` 对象[^2]。 ```javascript var now = new Date(); var timestampNow = now.getTime(); // 使用 getTime() var timestampNowAlt = Date.now(); // 使用 Date.now() ``` #### 比较两个时间对象 可以直接比较两个 `Date` 对象的时间戳值: ```javascript var dateA = new Date('2023-12-31'); var dateB = new Date('2024-01-01'); if (dateA < dateB) { console.log("dateA 在 dateB 之前"); } else if (dateA > dateB) { console.log("dateA 在 dateB 之后"); } else { console.log("dateA 和 dateB 相等"); } ``` ### 示例:比较时间范围 如果需要判断某个时间是否在指定范围内,可以这样做: ```javascript var targetDate = new Date('2024-02-15'); var startDate = new Date('2024-02-01'); var endDate = new Date('2024-02-28'); if (targetDate >= startDate && targetDate <= endDate) { console.log("目标时间在范围内"); } else { console.log("目标时间不在范围内"); } ``` ### 性能考量 在性能方面,`Date.now()` 不需要实例化一个新的 `Date` 对象,因此在循环或频繁调用时效率更高 [^2]。 ### 注意事项 - 确保所有用于比较的 `Date` 对象都基于相同的时区或 UTC 时间,以避免因时区差异导致错误。 - 如果从字符串创建 `Date` 对象,请确保格式符合 ISO 标准或其他可解析的格式。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值