JavaScript 是一种丰富的语言,有时拥有看似压倒性的库和框架数量。 有了这么多可用的选项,有时只需查看该语言本身并牢记其核心组件会很有用。 本词汇表涵盖了核心 JavaScript 语言、语法和函数。
JavaScript 变量
var
: 最常用的变量。 可以重新赋值,但只能在函数内部访问,这意味着函数作用域。 使用 var
定义的变量在代码执行时会移动到顶部。
const
: 无法重新赋值,并且在它们出现在代码中之前无法访问,这意味着块作用域。
let
: 与 const
类似,具有块作用域,但是,let
变量可以重新赋值,但不能重新声明。
数据类型
数字: var age = 33
变量: var a
文本(字符串): var a = "Sachin"
运算: var b = 4 + 5 + 6
真或假语句: var a = true
常量数字: const PI = 3.14
对象: var fullName = {firstName:"Sachin", lastName: "Samal"}
对象
这是一个 JavaScript 中对象的简单示例。 此对象描述了变量 car
,并包括*键*或*属性*,例如 make
、model
和 year
是对象的属性名称。 每个属性都有一个值,例如 Nissan
、Altima
和 2022
。 JavaScript 对象是具有值的属性的集合,它用作方法。
var car = {
make:"Nissan",
model:"Altima",
year:2022,
};
比较运算符
==
: 等于
===
: 值相等且类型相等
!=
: 不等于
!==
: 值不相等或类型不相等
>
: 大于
<
: 小于
>=
: 大于或等于
<=
: 小于或等于
?
: 三元运算符
逻辑运算符
&&
: 逻辑 AND
||
: 逻辑 OR
!
: 逻辑 NOT
输出数据
alert()
: 在浏览器窗口的警报框中输出数据
confirm()
: 打开一个“是/否”对话框,并根据用户的点击返回 true/false
console.log()
: 将信息写入浏览器控制台。 适用于调试。
document.write()
: 直接写入 HTML 文档
prompt()
: 创建用于用户输入的对话框
数组方法
数组:可以一次保存多个值的对象。
concat()
: 将多个数组连接成一个数组
indexOf()
: 返回指定对象的原始值
join()
: 将数组的元素组合成一个字符串并返回该字符串
lastIndexOf()
: 给出给定元素在数组中出现的最后一个位置
pop()
: 删除数组的最后一个元素
push()
: 在末尾添加一个新元素
reverse()
: 按降序对元素进行排序
shift()
: 删除数组的第一个元素
slice()
: 将数组的一部分的副本拉到新数组中
splice()
: 以指定的方式添加位置和元素
toString()
: 将元素转换为字符串
unshift()
: 在开头添加一个新元素
valueOf()
: 返回给定元素在数组中出现的第一个位置
JavaScript 循环
循环:在应用条件下重复执行特定任务。
for (before loop; condition for loop; execute after loop) {
// what to do during the loop
}
for
: 创建一个条件循环
while
: 设置在指定条件评估为 true 时循环执行至少一次的条件
do while
: 与 while
循环类似,它至少执行一次,并在最后执行检查以查看是否满足条件。 如果是,则再次执行
break
: 在特定条件下停止并退出循环
continue
: 如果满足某些条件,则跳过循环的部分内容
if-else 语句
如果括号中的条件为真,则 if
语句执行括号内的代码。 否则,将执行一个可选的 else
语句。
if (condition) {
// do this if condition is met
} else {
// do this if condition is not met
}
字符串
字符串方法
charAt()
: 返回字符串中指定位置的字符
charCodeAt()
: 给出该位置字符的 Unicode
concat()
: 将两个或多个字符串连接(连接)成一个
fromCharCode()
: 返回从指定的 UTF-16 代码单元序列创建的字符串
indexOf()
: 提供字符串中指定文本的第一次出现的位置
lastIndexOf()
: 与 indexOf()
相同,但使用最后一次出现,向后搜索
match()
: 检索字符串与搜索模式匹配的结果
replace()
: 查找并替换字符串中指定的文本
search()
: 执行匹配文本的搜索并返回其位置
slice()
: 提取字符串的一部分并将其作为新字符串返回
split()
: 在指定位置将字符串对象拆分为字符串数组
substr()
: 提取取决于指定字符数的子字符串,类似于 slice()
substring()
: 无法接受负索引,也类似于 slice()
toLowerCase()
: 将字符串转换为小写
toUpperCase()
: 将字符串转换为大写
valueOf()
: 返回字符串对象的原始值(没有属性或方法)
数字方法
toExponential()
: 返回一个字符串,其中包含写为指数表示法的四舍五入的数字
toFixed()
: 返回具有指定小数位数的数字字符串
toPrecision()
: 用指定长度编写的数字字符串
toString()
: 将数字作为字符串返回
valueOf()
: 将数字作为数字返回
数学方法
abs(a)
: 返回 a
的绝对值(正值)
acos(x)
: x
的反余弦,以弧度为单位
asin(x)
: x
的反正弦,以弧度为单位
atan(x)
: x
的反正切作为数值
atan2(y,x)
: 其参数商的反正切
ceil(a)
: a
向上舍入到其最接近的整数的值
cos(a)
: a
的余弦(x
以弧度为单位)
exp(a)
: Ex 的值
floor(a)
: a
向下舍入到其最接近的整数的值
log(a)
: a
的自然对数(以 E 为底)
max(a,b,c…,z)
: 返回具有最高值的数字
min(a,b,c…,z)
: 返回具有最低值的数字
pow(a,b)
: a
的 b
次方
random()
: 返回介于 0 和 1 之间的随机数
round(a)
: a
四舍五入到其最接近的整数的值
sin(a)
: a
的正弦(a
以弧度为单位)
sqrt(a)
: a
的平方根
tan(a)
: 角度的正切
在 JavaScript 中处理日期
设置日期
Date()
: 使用当前日期和时间创建一个新的日期对象
Date(2022, 6, 22, 4, 22, 11, 0)
: 创建一个自定义日期对象。 这些数字表示年、月、日、小时、分钟、秒、毫秒。 您可以省略除年和月之外的任何内容。
Date("2022-07-29")
: 作为字符串的日期声明
拉取日期和时间值
getDate()
: 月份中的日期作为数字 (1-31)
getDay()
: 星期几作为数字 (0-6)
getFullYear()
: 年份作为四位数字 (yyyy)
getHours()
: 小时 (0-23)
getMilliseconds()
: 毫秒 (0-999)
getMinutes()
: 分钟 (0-59)
getMonth()
: 月份作为数字 (0-11)
getSeconds()
: 秒 (0-59)
getTime()
: 自 1970 年 1 月 1 日以来的毫秒数
getUTCDate()
: 根据世界时,指定日期中的月份日期(也适用于日、月、完整年份、小时、分钟等)
parse
: 解析日期的字符串表示形式并返回自 1970 年 1 月 1 日以来的毫秒数
设置日期的部分
setDate()
: 将日期设置为数字 (1-31)
setFullYear()
: 设置年份(可选月份和日期)
setHours()
: 设置小时 (0-23)
setMilliseconds()
: 设置毫秒 (0-999)
setMinutes()
: 设置分钟 (0-59)
setMonth()
: 设置月份 (0-11)
setSeconds()
: 设置秒 (0-59)
setTime()
: 设置时间(自 1970 年 1 月 1 日以来的毫秒数)
setUTCDate()
: 根据世界时设置指定日期的月份日期(也适用于日、月、完整年份、小时、分钟等)
Dom 模式
节点方法
appendChild()
: 将一个新子节点作为最后一个子节点添加到元素
cloneNode()
: 克隆一个 HTML 元素
compareDocumentPosition()
: 比较两个元素的文档位置
getFeature()
: 返回一个实现指定特性 API 的对象
hasAttributes()
: 如果元素具有任何属性,则返回 true,否则返回 false
hasChildNodes()
: 如果元素有任何子节点,则返回 true,否则返回 false
insertBefore()
: 在指定的现有子节点之前插入一个新的子节点
isDefaultNamespace()
: 如果指定的 namespaceURI
是默认值,则返回 true,否则返回 false
isEqualNode()
: 检查两个元素是否相等
isSameNode()
: 检查两个元素是否是同一个节点
isSupported()
: 如果元素支持指定的功能,则返回 true
lookupNamespaceURI()
: 返回与给定节点关联的 namespaceURI
normalize()
: 连接相邻的文本节点并删除元素中的空文本节点
removeChild()
: 从元素中移除一个子节点
replaceChild()
: 替换元素中的子节点
元素方法
getAttribute()
: 返回元素节点指定的属性值
getAttributeNS()
: 返回具有指定命名空间和名称的属性的字符串值
getAttributeNode()
: 获取指定的属性节点
getAttributeNodeNS()
: 返回具有给定命名空间和名称的属性的属性节点
getElementsByTagName()
: 提供具有指定标签名称的所有子元素集合
getElementsByTagNameNS()
: 返回一个属于给定命名空间且具有特定标签名称的实时 HTMLCollection 元素集合
hasAttribute()
: 如果元素具有任何属性,则返回 true,否则返回 false
hasAttributeNS()
: 提供一个 true/false 值,指示给定命名空间中的当前元素是否具有指定的属性
removeAttribute()
: 从元素中移除指定的属性
lookupPrefix()
: 如果存在,则返回一个包含给定 namespaceURI
的前缀的 DOMString
removeAttributeNS()
: 从特定命名空间内的元素中移除指定的属性
removeAttributeNode()
: 移除指定的属性节点并返回移除的节点
setAttribute()
: 将指定的属性设置为指定的值,或者更改属性的值
setAttributeNS()
: 添加新属性或更改具有给定命名空间和名称的属性的值
setAttributeNode()
: 设置或更改指定的属性节点
setAttributeNodeNS()
: 向元素添加新的命名空间属性节点
JavaScript 事件
鼠标
onclick
: 用户单击元素
oncontextmenu
: 用户右键单击元素以打开上下文菜单
ondblclick
: 用户双击元素
onmousedown
: 用户在元素上按下鼠标按钮
onmouseenter
: 指针移动到元素上
onmouseleave
: 指针移出元素
onmousemove
: 指针在元素上方移动
onmouseover
: 指针移动到元素或其子元素之一上
setInterval()
: 以固定的时间间隔调用函数或计算表达式
oninput
: 用户在元素上输入
onmouseup
: 用户在元素上方释放鼠标按钮
onmouseout
: 用户将鼠标指针移出元素或其子元素之一
onerror
: 加载外部文件时发生错误
onloadeddata
: 媒体数据已加载
onloadedmetadata
: 元数据(如尺寸和持续时间)已加载
onloadstart
: 浏览器开始查找指定的媒体
onpause
: 媒体被用户暂停或自动暂停
onplay
: 媒体已启动或不再暂停
onplaying
: 媒体在暂停或停止缓冲后正在播放
onprogress
: 浏览器正在下载媒体
onratechange
: 媒体播放速度发生变化
onseeked
: 用户完成在媒体中移动/跳到新位置
onseeking
: 用户开始移动/跳过
onstalled
: 浏览器尝试加载媒体,但媒体不可用
onsuspend
— 浏览器有意不加载媒体
ontimeupdate
: 播放位置已更改(例如,由于快进)
onvolumechange
: 媒体音量已更改(包括静音)
onwaiting
: 媒体已暂停但预计会恢复(例如,缓冲)
评论已关闭。