JS 的基本数据类型

2018-11-25  本文已影响0人  加一片柠檬233

js中有6种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),一种复杂数据类型(Object)。

1. Number

Number类型包含整数和浮点数两种值。

  1. 浮点数值
    浮点数数值必须包含一个小数点,且小数点后面至少有一位数字。比如:
        var num1=1.1;
        var num2=0.1;
        var num3=.2; //有效,但不推荐

对于那些极大或者极小的数字,可以用e表示法表示的浮点数表示。比如:

var floatNum=2.125e7;//等于21250000

2)数值范围
由于内存的限制,ECMAScript并不能保存所有的数据。而在大多数浏览器中,能够保存的最小数的值为5e-324,能够表示的最大的数为1.7976931348623157e+308。如果超过这个范围的数为负数,则转换为-Infinity,反之转换为Infinity。
3)NaN
NaN,即非数值,这个用来表示一个本来要返回数值的却未能返回数值的情况。我们可以用isNaN(),方法来判断这个数是否“不是数值”。注意:NaN与任何值都不相等,包括他自身。

isNaN("hello") ; //true    
 isNaN(123) ; //false

4)数值转换
有三个函数可以把非数值转换为数值:Number() ,parseInt() , parseFloat().
第一个可用于任何数据类型。而后两个专门用于把字符串转换为数值。

2. String

用于表示由零个或者多个16位Unicode字符组成的字符序列。可由双引号(")或者单引号(')表示。比如:

var str1="hello";
var str2='world';

字符串有个特点是不可变的,也就是说字符串一旦创建,他们的值就不能改变。

3. Boolean

该类型只有两个字面值:true和false。这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0。
虽然Boolean类型的字面值只有两个,但JavaScript中所有类型的值都有与这两个Boolean值等价的值。要将一个值转换为其对应的Boolean值,可以调用类型转换函数Boolean(),例如:

    var message = 'Hello World';
    var messageAsBoolean = Boolean(message); //true

在这个例子中,字符串message被转换成了一个Boolean值,该值被保存在messageAsBoolean变量中。可以对任何数据类型的值调用Boolean()函数,而且总会返回一个Boolean值。至于返回的这个值是true还是false,取决于要转换值的数据类型及其实际值。下表给出了各种数据类型及其对象的转换规则。

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空的字符串 ""(空字符串)
Number 任何非0数值(包括无穷大) 0和NAN
Object 任何对象 null
Undefined 不适用 undefined
var message = 'Hello World';
 if(message)
 {
     alert("Value is true");
 }

运行这个示例,就会显示一个警告框,因为字符串message被自动转换成了对应的Boolean值(true)。由于存在这种自动执行的Boolean转换,因此确切地知道在流控制语句中使用的是什么变量至关重要。

4. Undefined

Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。比如:

var message;
alert(message == undefined);//true

5. Null

Null类型是第二个只有一个值的数据类型,这个特殊的值是null。从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof操作符检测null时会返回object的原因。
如果变量的定义是准备用来保存对象的,那么最好将该变量初始化为null。这样,我们直接判断是否为null,就可以确定他是否保存了对象。比如:

 if(car != null){
    //对car对象执行某些操作
  }

实际上,undefined值是派生自null值的,因此规定

console.log(undefined == null); //true

6. Object

对象就是一组数据和功能的集合。
该类型实例化的对象,是一组数据和功能(函数)的集合。
创建对象的方法有两种:
第一种是使用new操作符后跟Object构造函数,如下所示

var person = new Object();
person.name = "Micheal";
person.age = 24;

第二种方式是使用对象字面量表示法,如下所示

var person = {
   name : "Micheal",
   age : 24
};
上一篇下一篇

猜你喜欢

热点阅读