zoukankan      html  css  js  c++  java
  • 廖雪峰javascript教程学习记录

    $1.数据类型和变量

    1.不区分整数和浮点数,统一用Number

    2.字符串String

    3.布尔值

    注意:

    (1)

    实际上,JavaScript允许对任意数据类型做比较;

    要特别注意相等运算符==

    第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。

    由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。

    (2)

    另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己:

    NaN === NaN; // false

    唯一能判断NaN的方法是通过isNaN()函数:

    isNaN(NaN); // true

    (3)

    最后要注意浮点数的相等比较:

    1 / 3 === (1 - 2 / 3); // false
    

    这不是JavaScript的设计缺陷。浮点数在运算过程中会产生误差,因为计算机无法精确表示无限循环小数。要比较两个浮点数是否相等,只能计算它们之差的绝对值,看是否小于某个阈值:

    Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true

    4.null和undefined

    null表示一个“空”的值,它和0以及空字符串''不同,0是一个数值,''表示长度为0的字符串,而null表示“空”.

    JavaScript的设计者希望用null表示一个空的值,而undefined表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用nullundefined仅仅在判断函数参数是否传递的情况下有用。

     
  • 相关阅读:
    Luogu 4841 城市规划
    Luogu 4721 【模板】分治 FFT
    Luogu 4091 [HEOI2016/TJOI2016]求和
    Luogu 3723 [AH2017/HNOI2017]礼物
    FFT笔记
    Luogu 4900 食堂
    Luogu 4155 [SCOI2015]国旗计划
    Luogu 4069 [SDOI2016]游戏
    Luogu 4254 [JSOI2008]Blue Mary开公司
    Luogu 4251 [SCOI2015]小凸玩矩阵
  • 原文地址:https://www.cnblogs.com/shiliu123456/p/5700297.html
Copyright © 2011-2022 走看看