JavaScript 数据类型

71 阅读3分钟

字符串值,数值,布尔值,数组,对象。

JavaScript 数据类型

JavaScript 变量能够保存多种数据类型:数值、字符串值、数组、对象等等:

var length = 7;                             // 数字
var lastName = "Gates";                      // 字符串
var cars = ["Porsche", "Volvo", "BMW"];         // 数组
var x = {firstName:"Bill", lastName:"Gates"};    // 对象

数据类型的概念

在编程过程中,数据类型是重要的概念。

为了能够操作变量,了解数据类型是很重要的。

当数值和字符串相加时,JavaScript 将把数值视作字符串。

JavaScript 从左向右计算表达式。不同的次序会产生不同的结果:

在第一个例子中,JavaScript 把 911 和 7 视作数值,直到遇见 "Porsche"。

在第二个例子中,由于第一个操作数是字符串,因此所有操作数都被视为字符串

JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同变量可用作不同类型:

JavaScript 字符串值

字符串(或文本字符串)是一串字符(比如 "Bill Gates")。

字符串被引号包围。您可使用单引号或双引号:

可以在字符串内使用引号,只要这些引号与包围字符串的引号不匹配

JavaScript 只有一种数值类型。

写数值时用不用小数点均可:

超大或超小的数值可以用科学计数法来写:

JavaScript 布尔值

布尔值只有两个值:truefalse

var x = true;
var y = false;

JavaScript 数组

JavaScript 数组用方括号书写。

数组的项目由逗号分隔。数组索引基于零,这意味着第一个项目是 [0],第二个项目是 [1],以此类推。

JavaScript 对象

JavaScript 对象用花括号来书写。

对象属性是 name:value 对,由逗号分隔

<p id="a"></p>

<script>
var Name={
    firstName : "rose" ,
    age : 18 ,
    like : "pick,BULE,YELLOW",
    motion:" baskball, pingpong"
}
document.getElementById("a").innerHTML="my name is "+Name.firstName +" "+Name.age+" years old"+" I like "+ Name.like+" I like sports"+ Name.motion
  </script>

typeof 运算符

您可使用 JavaScript 的 typeof 来确定 JavaScript 变量的类型:

typeof 运算符返回变量或表达式的类型:

typeof ""                  // 返回 "string"
typeof "Bill"              // 返回 "string"
typeof "Bill Gates"          // 返回 "string"
typeof 0                   // 返回 "number"
typeof 314                 // 返回 "number"
typeof 3.14                // 返回 "number"
typeof (7)                 // 返回 "number"
typeof (7 + 8)             // 返回 "number"

typeof 运算符对数组返回 "object",因为在 JavaScript 中数组属于对象。

Undefined

在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined

空值

空值与 undefined 不是一回事。

空的字符串变量既有值也有类型。

Null

在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。

不幸的是,在 JavaScript 中,null 的数据类型是对象。

您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null

Undefined 与 Null 的区别

Undefinednull 的值相等,但类型不相等:

typeof undefined              // undefined
typeof null                   // object
null === undefined            // false
null == undefined             // true

原始数据

原始数据值是一种没有额外属性和方法的单一简单数据值。

typeof 运算符可返回以下原始类型之一:

  • string
  • number
  • boolean
  • undefined

实例

typeof "Bill"              // 返回 "string"
typeof 3.14                // 返回 "number"
typeof true                // 返回 "boolean"
typeof false               // 返回 "boolean"
typeof x

复杂数据

typeof 运算符可返回以下两种类型之一:

  • function
  • object

typeof 运算符把对象、数组或 null 返回 object

typeof 运算符不会把函数返回 object

实例

typeof {name:'Bill', age:62} // 返回 "object"
typeof [1,2,3,4]             // 返回 "object" (并非 "array",参见下面的注释)
typeof null                  // 返回 "object"
typeof function myFunc(){}   // 返回 "function"

typeof 运算符把数组返回为 "object",因为在 JavaScript 中数组即对象。