JS的数据类型

一、前言:

  JavaScript中变量似乎很简单,因为它声明变量只需要一个“var”就可以,不像其他编程语言严格区分了数据类型(int/double/char/boolean...)。这样做也是有好处的,变量可以被赋予任何类型的值,同样也可以给这个变量重新赋予不同类型的值。并不是“一定终身”。

  

  可是,JavaScript并没有避开数据类型,只是在声明时统一使用无类型(untyped)的“var”关键字而已,它的数据类型是根据所赋值的类型来确定的。

var x = 1;        //number类型
var x = 0.1;     //number类型,JS不区分整数值和浮点数值

var x = "hello world"; //由双引号内文本构成字符串
var x = 'javascript';   //单引号内文本同样可以构成字符串

var x = true;    //true和false作为布尔值

var x = null;
var x = undefined;  //null和undefined很相似,是特殊的类型

 

二、正文:

  下面对不同的数据类型进行说明

数据类型分类 说明 详细分类

原始类型
  • 原始值不可更改
  • 原始值的比较也是值得比较

比如:var a = 1,  b = 1;

   a == b;   //true

数字(number)
字符串(string)
布尔值(boolean)
null
undefined
对象类型
  • 对象是可变的,即值是可以修改的
  • 对象的比较并非值得比较

比如:var a = [], b = [];

     a == b;   //false,只有在引用相同时,两个只才会相等

特殊对象--数组(array)
特殊对象--函数(function)
object类型

 

 

扫描二维码关注公众号,回复: 885808 查看本文章

 

 

 

 

 

 

 

 

几点说明:

  • undefined表示系统级的、出乎意料的或类似错误的值的空缺;表示缺少值,此处应该有值,但没有定义。例如:var a;  a就会显示undefined

     null表示程序级的、正常的或在意料之中的值的空缺;

     一般多使用null。

  • undefined
    null
    0
    -0
    NaN
    ""  //空字符串

    以上这些值在布尔值转换中,会转换成false。但是这并不足以让你认为他们与false是相等的:  

  • undefined == true   //false
    undefined == false  //false
    
    undefined == null    //true
    undefined === null  //false
    
    null ==  false          //false
    null == true            //false
    
    "" == false              //true
    "" == true               //false
    
    0 == false               //true
    0 == true                //false
    -0 == false              //true
    -0 == true               //false
    
    NaN == false           //false
    NaN == true            //false
    NaN == NaN            //false NaN与任何值都不相等,包括它自身

猜你喜欢

转载自www.cnblogs.com/nangezi/p/9049025.html