JAVASCRIPT编入集

四、数据都是一堆符号

2017-12-26  本文已影响18人  loster
javascript编入集

在JavaScript中

  1. 使用 0-9 这些数字表示 number
  2. 使用 “ ” 或者 ' ' 引号括起来的表示 string
  3. 使用 true或者false 标识 boolean
  4. function 都是object
  5. Object 也是 Function
  6. {} 是 object

我想,前面三点都是非常简单的,数字就是数字,字符就是字符,真假就是真假,在说话,书写,编写任何代码都适用。后面三点,这是在js中独有的味道。

在面向对象的语言中,很多采用的是单根结构[1]。所以说万事万物皆为对象。但是,js虽然是一种面向对象的编程语言,但是却不是简单的单根结构,问题就在Function和Object的特殊性上。

虽然说过,数字使用L或者D作为末尾标识,确定精度[2]范围,但是在js中使用的是 IEEE 754规范,使用双精度标识,所以不需要区分,所有内容都是双精度的,无论是整型还是浮点数。
所以:

var a = 1L;
var b = 2D;

都是错误的,末尾不需要额外的标识位。
但是:

var c = 0x1;

这个是必需的,因为这代表的是进制转换。
不过有一点,无论是何种进制,在js中都会转为十进制,所以当你取值时发现不对,不需要紧张,这只是表示方式不同而已,定下的内容是不会变的。
不过在js中数学运算可能会出点精度不对的问题

0.1+0.2 !=0.3

你可能会惊讶,为什么呢。这时候就要去参考一下规范是为什么了吧。


  1. 即所有对象都是Object的子对象,跟一棵树一样,从根出发

  2. 观测值对比真值的精确程度

上一篇下一篇

猜你喜欢

热点阅读