Javascript 比较运算符 == 和 === 的应用区别

   在 Javascript 中,== 和 === 都是用于比较两个值是否相等的操作符,它们之间的区别在于比较的方式和类型较检。== 是强制类型转换比较,=== 是不强制类型转换比较,在Javascript应用中,为了避免类型转换带来的风险,通常优先使用 === 操作符,这也是标准的应用写法。以下通过一个验证码的 Demo去解释说明两者的区别。



   首先测试 ==的较检



在这里插入图片描述



   对输入的12345 和 预设的 123456去较检,结果为失败。



在这里插入图片描述



   输入123456 和 预设的 123456再去较检,结果为验证通过。

在这里插入图片描述



在这里插入图片描述



   可见,当使用 == 比较符时,结果会把 input 输出的 String(字符串类型) 自动强制转换成 Number(数字类型)去较检数据。



   转使用 === 去测试较检,同样输入 123456 去比较,结果验证失败。



在这里插入图片描述



   可以对输出的 String 类型,转换成 Number 类型,再进行数据较检,方法有多种,主要使用 parseInt() 和 Number() 方法这两种。



   parseInt()方法: parse()方法在前几期也详解了它对 Json序列化和反序列化的应用。



在这里插入图片描述



   Numbrt() 方法: 同样也可以成功把 String 转换成 Number类型。



在这里插入图片描述



   测试代码:


 <script>
      var system_code = 123456;
      // var verify_code = parseInt(prompt('请输入验证码'));
      var verify_code = Number(prompt('请输入验证码'));
      console.log('system_code的类型为:' , typeof system_code);
      console.log('verify_code的类型为:',  typeof verify_code);

     
     function check_code(){
    
    
      if (verify_code === system_code){
    
    
         console.log('验证成功');
       }else{
    
    
         console.log('验证失败,请重新输入');
       };
       var isConfirm = confirm('请确认');

     };

     check_code();

    </script>


   测试视频:


Javascript 比较运算符 == 和 === 的应用区

猜你喜欢

转载自blog.csdn.net/weixin_48591974/article/details/131004512