当前位置: 首页 > article >正文

【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)


http://www.kler.cn/a/272454.html

相关文章:

  • 《汽车维护与修理》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • 【青蛙过河——思维】
  • 放大芯片参数阅读
  • STL—stack与queue
  • RPA编程实践:Electron简介
  • Android面试题
  • 【JAVA笔记】IDEA配置本地Maven
  • JAVA代理模式梳理
  • 如何在 iPhone 上使用蓝牙鼠标
  • 【系统性】 循序渐进学C++
  • 【tls招新web部分题解】
  • 惠海 H6213E 降压恒压芯片 12V24V36V48V60V72V100V150V 转12V9V5V3.3V 车充/仪表供电方案IC
  • Linux环境下用IDEA运行Golang记录
  • SAR ADC教程系列5——FFT频谱泄露以及相干采样
  • el-input设置max、min无效的解决方案
  • VSCODE的常用插件
  • QTextToSpeech的使用——Qt
  • python中pyinstaller打包带资源的程序-pgzreo
  • 修复cython使用的bug,在mac上实现了编译,整理了cython和numba等加速文件,提供了一键编译
  • 固态硬盘有缓存和没缓存有什么区别
  • 《数据结构》复试问答题总结
  • Flutter第五弹:Flutter布局
  • 实验11-2-5 链表拼接(PTA)
  • 「Linux系列」Linux 文件与目录管理
  • web ui自动化测试--元素操作
  • rust 文件引用,父目录下的同级目录之间的引用