web前端开发JavaScript基础入门--数据类型比较
小职 2021-08-16 来源 : 阅读 337 评论 0

摘要:本文主要介绍了web前端开发JavaScript基础入门--数据类型比较 ,通过具体的内容向大家展现,希望对大家前端开发Javascript的学习有所帮助。

本文主要介绍了web前端开发JavaScript基础入门--数据类型比较 ,通过具体的内容向大家展现,希望对大家前端开发Javascript的学习有所帮助。

web前端开发JavaScript基础入门--数据类型比较

1.null与undefined比较

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>


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

web前端开发JavaScript基础入门--数据类型比较

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程