数据的表达
和HTML、CSS不同,JS是一门命令式编程语言,和其他命令式编程语言一样,它的本质是处理数据
JS 提供了三种方式来表达一个数据:
- 变量
- 字面量
- 表达式
程序中任何需要数据的地方,都可以使用上面任意一种数据表达
标识符
程序中有些可以自行命名的地方,称为标识符
常见的标识符有:变量名、函数名、参数名
js 的标识符必须符合以下规则:
- 允许数字、字母、下划线、$符号
- 不得以数字开头
- 不能和关键字冲突
- 建议使用驼峰命名法
一个完整的程序中,会涉及成百上千的标识符,好的名称不仅可以减少名称冲突,更有利于程序的阅读和维护。
名称要做到望文知意
转义符
\'
=> 普通英文单引号\"
=> 普通英文双引号\r
=> 回车\n
=> 换行
常用
\r\n
表示换行
数据类型
原始类型:number、string、boolean、null、undefined、Symbol、BigInt
引用类型:对象(包含普通对象、数组、函数)
对象的所有属性名都是字符串,因此使用单引号或双引号包裹起来
var obj = {
'name': 'xiaozhang',
'age': 22,
'graduate date': '2024-7-1',
'address': '广州'
}
为了书写的方便,当对象的属性名是 纯数字 或 符合标识符规范 时,可以省略引号
书写代码时我们无须关注这些规则,直接按照简写方式书写属性,如果编辑器出现报错,则使用引号包裹属性名即可。
读取对象的属性时,使用[]
,把要读取的属性名传递到中括号中
若属性 **符合标识符规范,可以使用.
符号连接属性名
obj['name'] = 'zhangxiaoxiao'
obj.name //语法糖
数组
数组,用于表达多个同种类的数据
它的本质就是一个对象
//数组的对象结构
{
'0': xxx,
'1': xxx,
'2': xxx,
'length': 3
}
数据的运算
类型的隐式转换
每个运算符都有自己期望的数据,比如*
期望两端都是数字
一旦数据不符合运算符的期望,js就会悄悄的对数据进行类型转换,把它转换成期望的值后进行运算。
值得注意的是,这种转换是 临时 的,并不会对原数据造成影响
运算符
算术运算
支持:加减乘除求余
值得注意的是,+和-可以放到单个数据之前,表示正负
算术运算的表达式一定返回数字,可以利用其特点做类型转换,参考 类型的隐式转换
var n = +a //不管a是啥,都会被转换成数字,保存到n中
var z = a + ''; //不管a是啥,都会被转换成字符串,保存到z中
var l = !!a; //不管a是啥,都会被转换成boolean,保存到l中