Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 1.35 KB

Js数据类型之概念.md

File metadata and controls

42 lines (27 loc) · 1.35 KB

Js数据类型之概念

1、JS有哪些数据类型?引用数据类型有哪些?

Js中,存在6中原始值,分别是:

  • Boolean
  • null
  • undefined
  • number
  • string
  • symbol

引用数据类型:对象Object(包含:普通对象-object,Array-数组对象,正则-RegExp,日期-Date、Math-数学函数,函数对象-Function)

2、null是对象吗?为什么?

null不是对象

虽然,typeof null会输出Object,但是这只是Js存在的一个悠久的Bug,js最初使用的是32为系统,为了性能考虑使用低位储存变量的类型信息,000开头代表是对象然而null表示全为零,所以将他错误的判断为Object

3.toString()为什么可以调用?

var s = new String('1');
s.toString();
s = null;

其实这个语句运行过程中做了这样几件事:

  • 创建String类实例
  • 调用实例方法
  • 执行完方法立即销毁这个实例

整个过程体现了基本包装类型的性质,而基本包装类型恰恰属性基本类型。包括NumberString

Boolean

4、0.1+0.2为什么不等于0.3?

0.10.2在转换成二进制后会无限循环,由于标准位数限制后面多余的位数会被截掉,此时已经出现了精度丢失,相加后浮点数小数位的限制而截断的二进制数字在转换为十进制就会变成0.30000000000000004