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

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



   首先测试 ==的较检



Javascript 比较运算符 == 和 === 的应用区别_第1张图片



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



Javascript 比较运算符 == 和 === 的应用区别_第2张图片



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

Javascript 比较运算符 == 和 === 的应用区别_第3张图片



Javascript 比较运算符 == 和 === 的应用区别_第4张图片



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



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



Javascript 比较运算符 == 和 === 的应用区别_第5张图片



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



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



Javascript 比较运算符 == 和 === 的应用区别_第6张图片



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



Javascript 比较运算符 == 和 === 的应用区别_第7张图片



   测试代码:


 <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 比较运算符 == 和 === 的应用区

你可能感兴趣的:(javascript,前端,开发语言)