JavaScript入门第六章(数据类型比较 )

简介: JavaScript入门第六章(数据类型比较 )

1.null与undefined比较


  1. undefined与null的区别,两个都表示什么都没有


  • null == undefined:成立,他们的值都是空


  • null === undefined:不成立,他们的值相等但是数据类型不同


<script>
    /*JS总共有六种数据类型,其中五种基本数据类型,一种复杂数据类型
      *(1)null与undefined有什么区别
            * null == undefined 成立
            * null === undefined 不成立
     */
    //1.null与undefined的区别:需要记忆
    console.log ( null == undefined );//true  他们的值都是空
    console.log ( null === undefined );//false  他们的值相等 但是数据类型不同
</script>


2.NaN与isNaN


  • 1.NaN:Not a Number 不是一个数字
  • (1)NaN是number数据类型中一个特殊的数值,是数学计算错误得到的一个结果
  • 例如: '张三' - 100,在数学上这是一种错误的计算,它的结果就是NaN
  • (2)NaN与任何数字都不等,包含它本身
  • (3)NaN与任何数字计算得到的都是NaN


  • 2.isNaN(数据):检测一个数据是不是NaN 得到的结果是布尔类型
  • 例如:isNaN(NaN),结果为true
  • 例如:isNaN(123),结果为false,表示123不是NaN


  • 3.number类型浮点数(小数)精度丢失问题
  • (1)小数在进行数学计算时,会有一定的误差,这是计算机本身的bug,不仅是js语言,其他语言也有这个问题
  • (2)解决方案:不要让两个小数比较大小,这种情况一般不会影响正常开发


<script>
    /*NaN:  not a number 不是一个数字
       * 1.NaN是number数据类型中一个特殊的数值,是数学计算错误得到的一个结果
       * 2.NaN与任何数字都不相等,包括它的本身
       * 3.NaN与任何数字计算得到的都是NaN
      isNaN(数据):判断一个数据是不是NaN,结果为布尔类型  true:是 false:不是
     */
    //1.NaN:not a number 不是一个数字
    //NaN是number数据类型中一个特殊的数值,是数学计算错误得到的一个结果
    let num = '张三' - 100;//当某个表达式无法计算(计算错误时),会得到NaN
    console.log ( num );        //NaN
    console.log ( typeof  NaN );    //number
    //2.NaN与任何数字都不等,包含它本身
    console.log ( NaN == 0 );     //false
    console.log ( NaN == NaN );     //false
    //3.NaN与任何数字计算得到的都是NaN
    console.log ( NaN + 100 );      //NaN
    //4.isNaN(数据):检测一个数据是不是NaN  得到的结果是布尔类型
    console.log ( isNaN ( NaN ) );    //true
    console.log ( isNaN ( 123 ) );    //false
    //如果检测的数据不是number类型,js编译器会尝试着将这个数据转化为number类型,然后再判断
    //这种数据类型转换称为隐式转换:下一小节讲解
    console.log ( isNaN ( "abc" ) );  //true
    //5.(课后了解即可)number浮点数(小数)精度丢失
    //小数在进行数学计算时,会有一定的误差,这是计算机本身的bug,不仅是js语言,其他语言也有这个问题
    //解决方案:不要让两个小数比较大小,这种情况一般不会影响正常开发
    console.log ( 0.1 + 0.2 );      //0.300000000000004
    console.log ( 0.1 + 0.2 == 0.3 ); //false
    console.log ( 0.4 + 0.5 );      //0.9
    console.log ( 1.1 - 0.2 );      //0.9000000000000001
</script>


3.字符串比较

1.字符串比较规则是按照字母的顺序挨个进行比较,与字符串长度无关


2.字符串比较区分大小写


<script>
  /*
    1.字符串比较规则,按照字母的顺序,挨个比较
    2.字符串的比较与长度无关
    3.字符串的比较区分大小写
  */
    // 字符串的比较是挨个比较对应顺序位置的字母,与长度无关
    console.log('abc' > 'b');       // false,a比d小,所以abc比d小
    // 字符串的比较区分大小写,小写大于大写(与ASCII码表对应)
    console.log('a' > 'A');         // true,a对应ASCII码表为97,A为65
</script>
相关文章
|
5天前
|
JavaScript 前端开发
js变量的作用域、作用域链、数据类型和转换应用案例
【4月更文挑战第27天】JavaScript 中变量有全局和局部作用域,全局变量在所有地方可访问,局部变量只限其定义的代码块。作用域链允许变量在当前块未定义时向上搜索父级作用域。语言支持多种数据类型,如字符串、数字、布尔值,可通过 `typeof` 检查类型。转换数据类型用 `parseInt` 或 `parseFloat`,将字符串转为数值。
12 1
|
2天前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】JavaScript基础入门:变量、数据类型与运算符
【4月更文挑战第30天】本文介绍了JavaScript的基础知识,包括变量(var、let、const)、数据类型(Number、String、Boolean、Undefined、Null及Object、Array)和运算符(算术、赋值、比较、逻辑)。通过实例展示了如何声明变量、操作数据类型以及使用运算符执行数学和逻辑运算。了解这些基础知识对初学者至关重要,是进阶学习JavaScript的关键。
|
3天前
|
存储 JavaScript 前端开发
JavaScript引用数据类型
JavaScript引用数据类型
|
3天前
|
JavaScript 前端开发
JavaScript 基本数据类型
JavaScript 基本数据类型
|
3天前
|
JavaScript 前端开发
【Web 前端】JS中检测数据类型的有哪些?
【4月更文挑战第22天】【Web 前端】JS中检测数据类型的有哪些?
|
3天前
|
存储 前端开发 JavaScript
【Web 前端】JS数据类型有哪些?区别?
【4月更文挑战第22天】【Web 前端】JS数据类型有哪些?区别?
|
7天前
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
19 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
7天前
|
前端开发 JavaScript 索引
前端 富文本编辑器原理——从javascript、html、css开始入门(一)
前端 富文本编辑器原理——从javascript、html、css开始入门
18 0
|
12天前
|
存储 JavaScript 前端开发
JavaScript的数据类型主要分为两大类:基本数据类型和引用数据类型
【4月更文挑战第20天】JavaScript的数据类型主要分为两大类:基本数据类型和引用数据类型
21 6
|
14天前
|
JavaScript 前端开发
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
js数据类型有几类?一共有几种?判断数据类型的方法是什么?