JS 入门之变量和数据类型


JS 入门章节目录


第二章:变量和数据类型

文章の目录

变量

JavaScript 值

JavaScript 变量

JavaScript 标识符

在 JavaScript 中标识符的命名规则:

变量的声明(创建)

变量实例

数据类型

数据类型

基本数据类型(原始数据类型)

引用数据类型

JavaScript 拥有动态类型

变量的数据类型可以使用 typeof 操作符来查看:

数据类型转换

隐式转换

显式转换(强制转换)


正文

变量

JavaScript 值

JavaScript 语句定义两种类型的值:混合值和变量值。

混合值被称为字面量。

变量值被称为变量。

JavaScript 变量

在编程语言中,变量用于存储数据值。

JavaScript 变量是存储数据值的容器。

JavaScript 使用 var 关键词来声明变量。

= 号用于为变量赋值。

注:

  • 在编程中,类似代数,我们使用变量(比如 price1)来存放值。
  • 在编程中,类似代数,我们在表达式中使用变量(total = price1 + price2)。

JavaScript 标识符

所有 JavaScript 变量必须以唯一的名称标识。

这些唯一的名称称为标识符。

注:

  • 标识符是名称。
  • 在 JavaScript 中,标识符用于命名变量(以及关键词、函数和标签)。
  • 在大多数编程语言中,合法名称的规则大多相同。

在 JavaScript 中标识符的命名规则:

  • 由数字、字母、下划线(_)或美元符号($)组成。
  • 不能以数字开头
  • 大小写敏感
  • 不能使用 JavaScript 的关键词
  • 尽量见名知意

注:

JavaScript 关键词:

  • JavaScript 关键词用于标识被执行的动作。
  • 如 var 关键词告知浏览器创建新的变量

JavaScript 与驼峰式大小写(驼峰命名法):

历史上,程序员曾使用三种把多个单词连接为一个变量名的方法:

1、连字符:first-name

注:

  • JavaScript 中不能使用连字符。它是为减法预留的。

2、下划线:first_name

3、驼峰式大小写:

  • FirstName —— 大驼峰命名法
  • firstname —— 小驼峰命名法

注:

  • JavaScript 程序员倾向于使用以小写字母开头的驼峰式命名法(即小驼峰命名法)。

变量的声明(创建)

在 JavaScript 中创建变量被称为”声明”变量。

可以通过 var 关键词来声明 JavaScript 变量:

// 变量的声明
var variableName;
// 声明之后,变量是没有值的。(技术上,它的值是 undefined。)

// 变量的赋值
variableName = "value";
// 将等号右边的值赋值给左边的变量。

// 声明变量时赋值
var variableName = "value";

注:

  • 声明过程中,尽量不要省略 var 关键词,否则声明的是“全局变量”。
  • 可以在一条语句中声明许多变量:以 var 作为语句的开头,并以逗号( , )分隔变量。
  • 在一条语句中声明多个变量并赋值:以 var 作为语句的开头,并以逗号(,)分隔变量。
  • 变量的声明可横跨多行。
  • 在脚本的开头声明所有变量是个好习惯。

变量实例

var num1;
var num2 = 20;
var num3 = 30;

num1 = 10;    // num1 为 10

num1 = 100;    // num1 为 100,更改 num1 的值(重新为 num1 赋值)。
num2 = 200;    // num2 为 200,更改 num2 的值(重新为 num2 赋值)。

var num2 = 2000;    // num2 为 2000,重新声明 num2 并赋值。

var num3;    // num3 的值为30,如果再次声明某个 JavaScript 变量,将不会丢失它的值。

数据类型

JavaScript 变量能够保存多种数据类型

数据类型

基本数据类型(原始数据类型)

  • Number —— 数字类型
  • String —— 字符串类型
  • Boolean —— 布尔类型
  • Undefined —— 未定义
  • Null —— 空

JavaScript 数字

  • JavaScript 只有一种数字类型。数字可以带小数点,也可以不带。
  • 极大或极小的数字可以通过科学计数法来书写。

JavaScript 字符串

  • 字符串是存储字符的变量。
  • 字符串可以是引号中的任意文本。您可以使用单引号或双引号。
  • 您可以在字符串中使用引号,只要不匹配包围字符串的引号即可。
  • 如需在字符串中使用匹配包围字符串的引号,则需使用 \ 转义字符。
// 反斜杠转义字符把特殊字符转换为字符串字符
var x = "My name is \"Li Hua\".";
// My name is "Li Hua".

var x = 'My name is \'Li Hua\'.';
// My name is 'Li Hua'.

var x = "字符 \\ 被称为反斜杠。"
// 字符 \ 被称为反斜杠。

(如需了解更多 JS 字符串及字符串方法等相关内容,请阅读笔者另一篇文章:JS 字符串及字符串方法

JavaScript 布尔值

  • 布尔值只有两个值:true 或 false。
  • 布尔值经常用在条件测试中,表示条件的真假。

注:

  • 除条件判断外,做运算时,true 可以当做 1 运算,false 可以当做 0 运算。

Undefined

  • 在 JavaScript 中,没有值的变量(声明变量未赋值),其值是 undefined;typeof 也返回 undefined。
  • 任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。

Null

  • 在 JavaScript 中,null 是“nothing”。它被看做不存在的事物。
  • 在 JavaScript 中,null 的数据类型是对象。
  • 您可以通过设置值为 null 清空对象。
// 通过设置值为 null 清空对象:
var person = null;    // 值是 null,但是类型仍然是对象。
// 通过设置值为 undefined 清空对象:
var person = undefined;    // 值是 undefined,类型是undefined。

Undefined 与 Null 的区别

Undefined 与 Null 的值相等,但类型不相等:

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

引用数据类型

  • Object —— 对象
  • Array —— 数组
  • Function —— 函数

JavaScript 拥有动态类型

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

var x;             // x 为 undefined
var x = 5;         // 现在 x 为数字
var x = "John";    // 现在 x 为字符串

变量的数据类型可以使用 typeof 操作符来查看:

语法:

typeof(variable)
// 或
typeof variable

typeof 运算符的返回类型为字符串,值包括以下几种:

  • 'number' —— 数字类型的值或变量
  • 'string' —— 字符串类型的值或变量
  • 'boolean' —— 布尔类型的值或变量
  • 'undefined' —— 没有值的变量或 undefined
  • 'object' —— 对象、数组或 null
  • 'function' —— 函数

数据类型转换

隐式转换

1、转换为字符串

所有的数据类型与 String 做 + 运算时,最后的结果都为 String。

注:

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

var x = 1 + 2 + "li";
// 结果:3li

var x = "li" + 1 + 2;
// 结果:li12

显式转换(强制转换)

1、转换为字符串

toString()

作用:将任意类型的数据转换为 String 类型。

语法:

var result = variable.toString();

2、转换为数字

parseInt()

作用:获取指定数据的整数部分。

语法:

var result = parseInt(data);

注意:

  • parseInt 从左向右依次转换,碰到第一个非整数字符,则停止转换。如果第一个字符就是非整数字符的话,结果为 NaN。

parseFloat()

作用:将指定数据转换成小数。

语法:

var result = parseFloat(data);

注意:

  • parseFloat 从左向右依次转换,碰到第一个非小数字符,则停止转换。如果第一个字符就是非小数字符的话,结果为NaN。

Number()

作用:将一个字符串解析为 Number。

语法:

var result = Number(str);

注意:

  • 如果包含非法字符,则返回 NaN。

补充:

  • NaN
    • 特殊的数字类型的值(typeof NaN 的结果为 'number')
    • Not a Number 的缩写,表示不是一个合法的数字
  • isNaN()
    • 判断一个值是否是 NaN 值(会抛开数据类型来判断数据是否为一个合法的数字)
    • 结果为 Boolean 类型
      • true —— 不是一个合法的数字
      • false —— 是一个合法的数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值