第三章 基本概念

2019-10-08  本文已影响0人  锐金旗扛把子

undefined和null的区别

  1. undefined 是声明后没有赋值的结果,表示没有值
  2. null 是有值,它的值就是null
  3. null 表示一个空对象指针
  4. undefined 存在的意义主要是为了做判断,判断一个变量或者对象的属性是否有值
  5. 不要声明一个变量为undefined的,但是可以声明一个变量为null,如果一个要保存对象的变量还没有保存对象,就可以给它赋值null

NaN

  1. NaN表示不是一个数字
  2. 0/0 会返回NaN,此后再参与计算的值都是NaN
  3. isNaN()这个函数并不是用来判断一个值是不是NaN,而是用来判断一个值是否不是数值,这个函数应该叫isNoNumber(),所有能用Number转化成数字的值,都会返回true,不能转化为数字的值,返回false

数值

  1. 浮点数计算会产生误差,因为js基于IEEE754数值的浮点计算,浮点数的最高精度是17位小数。
  2. 数值范围,最小值:Number.MIN_VALUE, 5e-324,最大值: Number.MAX_VALUE, 1.7976931348623157e+308Infinity表示无穷大,当一个运算的结果超出最大值时得到的结果就是Infinity,小于最小值时得到的结果就是-Infinity
  3. 可以用isFinite()这个函数来判断一个值是否位于最大最小之间

数值转换

转化数字的方法有Number(), parseInt(),parseFloat()

  1. Number()中只要有字母,就会转化成NaN,不识别二进制,八进制,可以识别16进制
  2. parseInt()会忽略字符串之前的空格,如果第一个字符不是数字或者负号就会返回NaN,直到解析到第一个不是数字的字符,Number对于空字符串会返回0,parseInt()会返回NaN。并且parseInt()可以识别各种进制(ES5以后,不能解析8进制),parseInt()支持第二个参数,进制。
  3. parseFloat()也是会忽略字符串之前的空格,如果第一个字符不是数字或者负号就会返回NaN,直到解析到第一个不是无效的浮点数字字符,不支持进制,没有第二个参数。

String类型

  1. 字符串是不可变的,字符串一旦创建,它们的值就不能改变
  2. 要把一个值转变为字符串有两种方法,使用几乎每个值都有的toString()方法,toString()可以输出任意有效进制格式的值,nullundefined没有这个方法,要想转化null``和undefined,可以使用转型函数String()。还有一种方式就是直接加“”字符串。

操作符

  1. 递增与递减操作符,可以放在变量的前置也可以放在后置,它们最重要的区别就是:前置的时候变量的值都是在语句被求值前改变的
  2. 位操作符,求一个负数的二进制码,负数的二进制码的格式是二进制补码,要计算一个数值的二进制补码,需要以下步骤
    1. 求这个数值的绝对值的二进制码
    2. 求二进制反码
    3. 得到的二进制反码加1.

函数

  1. 未指定函数返回值的时候,函数会返回undefined
上一篇 下一篇

猜你喜欢

热点阅读