Js数据类型

1、Number

  Java的"数字类型"分为int、float、double、long等,但是在Js中,统一用Number来表示。其中有两个值比较特殊:
 NaN:Not a Number,当计算结果无法表示时使用
 Infinity:当计算结果超过了Js的Number的表示范围时使用

 注:
 比较运算符:== 和===
 ==会自动转换数据类型,通常比较的结果不是预期的结果
 ===不会自动转换数据类型,数据类型不一致,则返回false

NaN===Nan;//false
1 / 3 === 1 - 2 / 3;//false 
浮点型有比较误差的,通常比较的话只能通过定义一个阈值来进行比较,比如:1 / 3 === 1 - 2 / 3 > 0.000001;//true

2、boolean

  true
  false

3、Null类型

  null:表示空

4、Undefined 类型

  一个没有被赋值的变量会有个默认值 undefined

5、字符串类型

  JavaScript的字符串类型用于表示文本数据。它是一组16位的无符号整数值的“元素”。在字符串中的每个元素占据了字符串的位置。第一个元素的索引为0,下一个是索引1。

6、符号类型

  符号(Symbols)是ECMAScript 第6版新定义的。符号类型是唯一的并且是不可修改的, 并且也可以用来作为Object的key的值(如下)

7、对象

  在 Javascript 里,对象可以被看作是一组属性的集合.而属性,是键值对表示的。例如:

var person = {
    name: 'Bob',
    age: 20,
    tags: ['js', 'web', 'mobile'],
    city: 'Beijing',
    hasCar: true,
    zipcode: null
};

8、数组

  var arr = [1, 2, 3.14, 'Hello', null, true];
  var arr = new Array( 1, 2, 3.14, 'Hello', null, true);
  取值时和Java是一样的,arr[0]、arr[1]

9、strict模式

  JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量,这样会导致一个Js文件中的几处使用了变量i,导致i的值错乱。在后续的ECMA协议中退出了Strict模式来弥补。只需在Js的代码第一行写上:

'use strict';

若测试环境支持strict模式,则下面这行代码就很会报错,否则表示测试的浏览器的版本有点低了。

'use strict';
// 如果浏览器支持strict模式,
// 下面的代码将报ReferenceError错误:
c = 'Hello, world';
console.log(c);

你可能感兴趣的:(Js数据类型)