JS学习——数据类型

学习内容来源:JavaScript 数据类型

JavaScript 数据类型

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

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

1、当数值和字符串相加时,JavaScript 将把数值视作字符串。
例子:

var x = 911 + "Porsche";
// JavaScript 会这样处理上面的例子
var x = "911" + "Porsche";

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

var x = 911 + 7 + "Porsche";
// 结果:918Porsche,说明:JavaScript 把 911 和 7 视作数值,直到遇见 "Porsche"。
var x = "Porsche" + 911 + 7;
// 结果:Porsche9117,说明:第一个操作数是字符串,因此所有操作数都被视为字符串。

JavaScript 拥有动态类型

例子:

var x;               // 现在 x 是 undefined
var x = 7;           // 现在 x 是数值
var x = "Bill";      // 现在 x 是字符串值

JavaScript 字符串值

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

例子:

var answer = "It's alright";         // 双引号内的单引号,结果:It's alright
var answer = "He is called 'Bill'";  // 双引号内的单引号,结果:He is called 'Bill'
var answer = 'He is called "Bill"';  // 单引号内的双引号,结果:He is called "Bill"

JavaScript 数值

JavaScript 只有一种数值类型,写数值时用不用小数点均可

例子:

var x1 = 34.00;     // 带小数点
var x2 = 34;        // 不带小数点

// 超大或超小的数值可以用科学计数法来写
var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123

JavaScript 布尔值

布尔值只有两个值:true 或 false

例子:

var x = true;
var y = false;

JavaScript 数组

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

例子:

var cars = ["Porsche", "Volvo", "BMW"];
// 第一项为cars[0],第二项为cars[2]...

JavaScript 对象

JavaScript 对象用花括号来书写。对象属性是 name: value 对,由逗号分隔

例子:

var person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 62,
  eyeColor: "blue"
};
// 例中的对象(person)有四个属性:firstName、lastName、age 以及 eyeColor

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 中数组属于对象。
typeof [1, 2, 3]           // 返回 "object"

Undefined

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

var person;              // 值是 undefined,类型是 undefined。

2、任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined
例子:

person = undefined;      // 值是 undefined,类型是 undefined。

空值

空值与 undefined 不是一回事。空的字符串变量既有值也有类型

var car = "";            // 值是 "",类型是 "string"

Null

在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。在 JavaScript 中,null 的数据类型是对象。可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。

1、可以通过设置值为 null 清空对象

var person = null;       // 值是 null,但是类型仍然是对象

2、也可以通过设置值为 undefined 清空对象

var person = undefined;  // 值是 undefined,类型是 undefined

Undefined 与 Null 的区别

Undefined 与 null 的值相等,但类型不相等

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                   // 返回 "undefined" (假如 x 没有值)

复杂数据

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

  • function
  • object

例子:

typeof {name:'Bill', age:62} // 返回 "object"
typeof [1,2,3,4]             // 返回 "object"
typeof null                  // 返回 "object"
typeof function myFunc(){}   // 返回 "function"
posted @ 2022-02-28 21:21  一只离离离  阅读(35)  评论(0编辑  收藏  举报