JavaScript常用操作,常用类

 


算术运算符#

重点关注 算数,赋值,逻辑运算符,三目运算符

程序的三大结构#

程序本质分为三大结构: 顺序结构 | 分支结构 if|switch | 循环结构 for|while|do...while
根据程序代码执行的方式 划分为 三大结构

// 逻辑运算符 => 类似于 if单分支结构
// 三目运算符 => 类似于 if...else分支结构,见上面的代码

分支结构#

if 基础语法

1
2
3
if (条件表达式) {
代码块;
}

当条件表达式结果为true,会执行代码块;反之不执行
条件表达式可以为普通表达式
0、undefined、null、""、NaN为假,其他均为真

if 复杂语法(三元,逻辑运算符,省略大括号,一个小技巧)

双分支

1
2
3
4
5
if (表达式1) {
代码块1;
} else {
代码块2;
}

多分支

1
2
3
4
5
6
if (表达式1) {
} else if (表达式2) {
}
else if (表达式2) {
} else {
}

if 嵌套

1
2
3
4
if (表达式1) {
if (表达式2) {
}...
}...

if 与 if直接可以随意嵌套

switch语句#

 1.表达式可以为 整数表达式 或 字符串表达式
 2.值可以为 整数 或 字符串
 3.break可以省略
 4.default为默认代码块,需要出现在所有case最下方,在所有case均未被匹配时执行
switch()中的表达式结果为 整型 或 字符串, case的值要与其对应

运用实例

循环结构#

for循环#

1
2
3
4
5
6
7
8
9
for (循环变量①; 条件表达式②; 循环变量增量③) {
代码块④;
}
// 1.循环变量可以在外、在内声明
// 2.执行逻辑 ① ②④③ ... ②④③ ②,入口为①,出口为②,②④③个数为[0, n]
 
for (var i = 0; i < 5; i++) {
console.log("我最棒, 我最帅, 我是天下第一!");
} 

所有for循环可以解决的问题, 都可以由while来解决
while循环可以解决不明确循环次数的循环需求

while循环#

1
2
3
4
5
6
7
8
9
while (条件表达式) {
代码块;
}
 
var count = 0;
while (count < 5) {
console.log("我最棒, 我最帅, 我是天下第一!");
count++;
}

do...while循环#

1
2
3
4
5
6
7
8
9
10
do {
代码块;
} while (条件表达式);
 
// 无论条件是否满足, 都需要执行一次循环体 (循环体只是要被执行一次)
var num = 0;
do {
console.log("我最棒, 我最帅, 我是天下第一!");
num++;
} while (num < 5); // 当条件满足时, 返回循环体

for...in循环#

1
2
3
4
obj = {"name": "zero", "age": 8}
for (k in obj) {
console.log(k, obj[k])
}

用于遍历对象:遍历的结果为key,通过[]语法访问对应的value

for...of循环#

1
2
3
4
iter = ['a', 'b', 'c'];
for (i of iter) {
console.log(iter[i])
}

用于遍历可迭代对象:遍历结果为index,通过[]语法访问对应的value
ES6新增,可迭代对象有 字符串、数组、Map、Set、Anguments、NodeList等

break,continue关键词#

1
2
break:结束本层循环
continue:结束本次循环进入下一次循环

异常处理#

1
2
3
4
5
6
7
try {
易错代码块;
} catch (err) {
异常处理代码块;
} finally {
必须逻辑代码块;
}

err为存储错误信息的变量finally分支在异常出现与否都会被执行

throw "自定义异常"必要的时候抛出自定义异常,要结合对应的try...catch使用

函数初级#

函数的定义

ES5

1
2
3
4
5
6
function 函数名 (参数列表) {
函数体;
}
var 函数名 = function (参数列表) {
函数体;
}

ES6

1
2
3
let 函数名 = (参数列表) => {
函数体;
}

函数相关运用实例#

函数闭包#

JS常用类#

Number#

常用数字

常用进制

NaN

常用常量

常用实例方法

时间#

创建并获取时间

时间戳

1
date.getTime();

获取时间

常见格式时间

字符串#

常用字符串

常用属性

常用方法

数组#

常见数组

1
[1, 2, 3] | ['1', '2', '3'] | [1, '2', true]

常用属性

1
length:数组元素个数

常用基础方法

增删改方法

splice详细用法

回调函数方法

Math#

常用常量

常用方法

随机数运用实例#

正则#

正则对象的创建和声明的两种方法

修饰符

正则方法

字符串方法

① boolean reg.test(str)

test()用于检查指定的字符串是否存在,如果存在的话就返回true,否则返回false

② string[] reg.exec(str)
exec()函数返回的是源字符串中与正则表达式相匹配的整个子串和正则中的各个分组相匹配的子串组合在一起的一个数组,即这个数组(group)存放的是匹配组中各个组得到的匹配串,各个元素之间用逗号分隔,比如下面的例子中strArr中存放的是{"John Smith","John","Smith"}。第0个元素是整个串,因为第0个组代表的是整个正则表达式

③ string[] str.match(reg)
match()返回匹配得到的数组。在正则表达式后面加个g(golable全局匹配),那么match()函数就能得到将正则表达式每次匹配的结果都放在一个数组里面,最后将这个数组返回。如果在正则表达式最后没有g的话,那么match()这个函数就只能返回第一次匹配得到的结果,然后将其存放在数组里面返回

④ int reg.search(str)
search()返回匹配串的位置,从0开始计数的话,就是返回匹配串第一个字符的标号,类似于indexof()

⑤ string str.replace(reg,str2);
replace()函数的第一个参数可以是普通字符串,也可以是正则表达式。它将匹配到的子串替换为str2,然后将替换后的结果返回。
如果正则表达式的最后含有g(golable全局匹配)的话,那么它将遍历整个字符串str,将能够匹配的子串全部替换。

⑥ stting[] str.split(reg)
split()函数的参数可以为普通字符串,也可以为正则表达式。它是将源字符串str以参数reg进行分割,然后将分割后得到的每个子串存放在数组里面返回。

$1...$9 引用(匹配)得到的分组子串,如果它(们)存在的话。注意:是没有$0的,$1是引用第一个分组匹配的子串

  

 

posted @   鲸鱼的海老大  阅读(239)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示
CONTENTS