【02】JavaScript基础
一、数据的表达
和 HTML、CSS 不同,JS 是一门 命令式编程语言,和其他命令式编程语言一样,它的本质是处理数据
JS 提供了三种方式来表达一个数据:
- 变量
- 字面量
- 表达式
程序中任何需要数据的地方,都可以使用上面任意一种数据表达。
注意点
标识符
程序中有些可以自行命名的地方,称之为标识符
常见的标识符有:变量名、函数名、参数名
js 的标识符必须符合以下规则:
- 允许数字、字母、下划线、$符号
- 不得以数字开头
- 不能和关键字冲突
- 建议使用驼峰命名法
一个完整的程序中,会涉及成百上千的标识符,好的名称不仅可以减少名称冲突,更有利于程序的阅读和维护。
名称要做到望文知意
转义符
转义符 | 含义 |
---|---|
\' |
普通英文单引号 |
\" |
普通英文双引号 |
\r |
回车 |
\n |
换行 |
小技巧:常用
\r\n
表示换行
二、数据的表达
本节课主要回顾对象的表达
注意点
数据类型
原始类型:number、string、boolean、null、undefined
引用类型:对象(包含普通对象、数组、函数)
对象的原始写法
对象的所有属性名都是字符串,因此使用单引号或双引号包裹起来
var obj = {
name: "邓哥",
age: 35,
"graduate date": "2007-7-1",
"home address": {
province: "黑龙江",
city: "city",
},
};
为了书写的方便,当对象的属性名是纯数字或符合标识符规范时,可以省略引号
小贴士
书写代码时我们无须关注这些规则,直接按照简写方式书写属性,若编辑器出现报错,则使用引号包裹属性名即可
读取对象属性时,使用[]
,把要读取的属性名传递到中括号中
obj["name"]; // 读取obj的name属性
obj["home address"]; // 读取obj的home address属性
obj["home address"]["province"]; // 这是啥意思?
若属性符合标识符规范,可以使用.
符号连接属性名
obj.name; // 读取obj的name属性
obj.age; // 读取obj的age属性
obj["home address"].province; // 请自行脑补
三、数据的表达
数组,用于表达多个同种类的数据
它的本质就是一个对象
// 数组的对象结构
{
'0': xxx,
'1': xxx,
'2': xxx,
'length': 3
}
四、数据的运算
运算符
算术(数学)运算
支持:加(+)、减(-)、乘(*)、除(/)、求余(%)
值得注意的是,+和-可以放到单个数据的前面,表示正负。
算术运算的表达式一定返回数字,可以利用其特点做类型转换,参考类型的隐式转换
字符串拼接
当+
的两端有一个是字符串时,不再进行算术运算,而变为字符串拼接
表达式一定返回 string,可以利用其特点做类型转换,参考类型的隐式转换
赋值运算
涉及的运算符:=
+=
*=
/=
-=
%=
。
其中,a += xxx
,等效于a = a + (xxx)