为什么学习 JavaScript?
JavaScript web 开发人员必须学习的 3 门语言中的一门:
HTML 定义了网页的内容
CSS 描述了网页的布局
JavaScript 网页的行为
本教程是关于 JavaScript 及介绍 JavaScript 如何与 HTML 和 CSS 一起工作
avaScript 算数运算符
算数运算符用于对数字执行算数运算:
运算符 描述
- 加法
- 减法
- 乘法
/ 除法
% 系数
++ 递加
– 递减
JavaScript 赋值运算符
赋值运算符向 JavaScript 变量赋值。
运算符 例子 等同
赋值
var x = 7;
比较运算符
运算符 描述
== 等于
=== 等值等型
!= 不相等
!== 不等值或不等型
大于
< 小于
= 大于或等于
<= 小于或等于
? 三元运算符
JavaScript 逻辑运算符
运算符 描述
&& 逻辑与
|| 逻辑或
! 逻辑非
JavaScript 位运算符
位运算符处理 32 位数。
该运算中的任何数值运算数都会被转换为 32 位的数。结果会被转换回 JavaScript 数& 与 5 & 1 0101 & 0001 0001 1
| 或 5 | 1 0101 | 0001 0101 5
~ 非 ~ 5 ~0101 1010 10
^ 异或 5 ^ 1 0101 ^ 0001 0100 4
<< 零填充左位移 5 << 1 0101 << 1 1010 10
有符号右位移 5 >> 1 0101 >> 1 0010 2
零填充右位移 5 >>> 1 0101 >>> 1 0010 2
上例使用 4 位无符号的例子。但是 JavaScript 使用 32 位有符号数。
因此,在 JavaScript 中,~ 5 不会返回 10,而是返回 -6。
~00000000000000000000000000000101 将返回 11111111111111111111111111111010。
JavaScript 数据类型
JS 赋值
JS 函数
字符串值,数值,布尔值,数组,对象JavaScript 数据类型
JavaScript 变量能够保存多种数据类型:数值、字符串值、数组、对象等等:
var length = 7; // 数字
var lastName = “Gates”; // 字符串
var cars = [“Porsche”, “Volvo”, “BMW”]; // 数组
var x = {firstName:“Bill”, lastName:“Gates”}; // 对象
JavaScript 字符串值
字符串(或文本字符串)是一串字符(比如 “Bill Gates”)。
字符串被引号包围。您可使用单引号或双引号:
JavaScript 数值
JavaScript 只有一种数值类型。
写数值时用不用小数点均可:
实例
var x1 = 34.00; // 带小数点
var x2 = 34; // 不带小数点JavaScript 布尔值
布尔值只有两个值:true 或 false。
JavaScript 对象
JavaScript 对象用花括号来书写。
对象属性是 name:value 对,由逗号分隔。
Undefined
在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。
实例
var person; // 值是 undefined,类型是 undefined
Null
在 JavaScript 中,null 是 “nothing”。它被看做不存在的事物。
不幸的是,在 JavaScript 中,null 的数据类型是对象。
您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。
您可以通过设置值为 null 清空对象:
实例
var person = null; // 值是 null,但是类型仍然是对象
Undefined 与 Null 的区别
Undefined 与 null 的值相等,但类型不相等:
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
JavaScript 类型转换
JavaScript 中有五种可包含值的数据类型:
字符串(string)
数字(number)
布尔(boolean)
对象(object)
函数(function)
有三种对象类型:
对象(Object)
日期(Date)
数组(Array)
同时有两种不能包含值的数据类型:
null
undefined
avaScript 类型转换
JavaScript 变量能够被转换为新变量以及另一种数据类型:
通过使用 JavaScript 函数
通过 JavaScript 本身自动转换
把数值转换为字符串
全局方法 String() 能够把数字转换为字符串。
它可用于任意类型的数字、文字、变量或表达式:
把布尔转换为字符串
全局方法 String() 能够将布尔转换为字符串。
String(false) // 返回 “false”
String(true) // 返回 “true”
布尔方法 toString() 同理。
false.toString() // 返回 “false”
true.toString() // 返回 “true”
把日期转换为字符串
全局方法 String() 可将日期转换为字符串。
String(Date()) // 返回 “Tue Jul 23 2019 08:38:07 GMT+0800 (中国标准时间)”
日期方法 toString() 同理。
把字符串转换为数值
全局方法 Number() 可把字符串转换为数字。
包含数字的字符串(比如 “3.14”)转换为数字(比如 3.14)。
空的字符串转换为 0。
其他字符串将转换为 NaN(Not a number,不是数字)。
Number(“3.14”) // 返回 3.14
Number(" “) // 返回 0
Number(”") // 返回 0
Number(“99 88”) // 返回 NaN把布尔转换数值
全局方法 Number() 也可把布尔转换为数字。
Number(false) // 返回 0
Number(true) // 返回 1
JavaScript 位运算符
JS 类型转换
JS 正则表达式
JavaScript 位运算符
运算符 名称 描述
& AND 如果两位都是 1 则设置每位为 1
| OR 如果两位之一为 1 则设置每位为 1
^ XOR 如果两位只有一位为 1 则设置每位为 1
~ NOT 反转所有位
<< 零填充左位移 通过从右推入零向左位移,并使最左边的位脱落。
有符号右位移 通过从左推入最左位的拷贝来向右位移,并使最右边的位脱落。
零填充右位移 通过从左推入零来向右位移,并使最右边的位脱落