JS宏基础--JS相关基础语句以及在JS宏中简单的批量操作

一、JS相关基础语句

1、条件结构

if(条件表达式){如果条件为真执行的代码块}

if(条件表达式){如果条件为真执行的代码块}else{条件为假执行的代码块}

if(条件表达式1){如果条件1为真执行的代码块}else if(条件表达式2){条件2为真执行的代码块}...else{所有条件为假时执行的代码块}

示例如下:

let condition = false
//单独IF语句
if(condition){
    // 当条件为真时执行的代码
    console.log(condition); //不执行
}

//if...else...语句
if(condition){
    // 当条件为真时执行的代码
    console.log(condition); //不执行
}else{
    console.log(!condition); //执行; 输出true
}

//if...else if...else语句
if(condition){
    // 当条件为真时执行的代码
    console.log(condition); //不执行
}else if(!condition){
    console.log(!condition); //执行; 输出true
}else{
    console.log("都是假的"); //不执行
}

条件结构除开上述的if结构外还存在switch结构,其语法如下所示:

/*
    expression:一个表达式,其结果将与每个 case 的值进行比较。
    value1, value2:与 expression 进行比较的值。
    break:用于终止 switch 语句,防止继续执行后续的 case
*/
let expression = 2;
let value1 = 3;
let value2 = 2;
switch (expression) {
    case value1:
        // 当 expression 等于 value1 时执行的代码
        console.log(value1);
        break;
    case value2:
        // 当 expression 等于 value2 时执行的代码
        console.log(value2);
        break;
    // 可以有任意数量的 case 语句
    default:
        // 当 expression 不匹配任何 case 时执行的代码
        console.log("没有匹配项");
}

此外前面提到的三元运算符,也是一种条件结构

条件表达式 ? 条件为真的结果 : 条件为假的结果;

小结:条件语句是JavaScript中控制程序执行流程的重要工具。通过合理使用 ifelse ifelseswitch 以及三元运算符,你可以编写出能够应对各种情况的灵活代码。选择哪种条件语句取决于你的具体需求和代码的可读性。

2、循环结构:

2.1、for循环

//基本for循环
/*
    初始化表达式:let i = 0;,在循环开始时执行一次,用于初始化计数器。
    条件表达式:i < n;,在每次循环迭代前检查,如果为 true,则继续循环;否则,退出循环。
    递增表达式:i++,在每次循环迭代后执行,用于更新计数器。
*/
let n = 10;
for(let i = 0; i<=10; i++){
    //循环体
    console.log(i); //依次输出 0,1,2,3......10
}

//for ... in 循环, 一般用于遍历对象的可枚举属性(包括继承的可枚举属性)。语法如下:
let obj = {name: "张三", age: 27, grade: 655};
for(let key in obj){
    console.log("键:" + key + "\t值: " + obj[key]); //输出属性和属性值
}

// for...of 循环用于遍历可迭代对象(如数组、字符串、Map、Set等)的值。语法如下:
let arr = [1, 2, 3, 4, 5];
for (let value of arr) {
    console.log(value); // 依次输出数组中的每个元素(1,2,3,4,5)
}

2.2、while循环与do...while循环

//while循环, 一般用于在条件为真时重复执行代码块。适用于循环次数未知,但条件明确的情况。语法如下
let n = 10;
let i = 0;
while (i < n) {
    // 循环体:每次循环执行的代码,条件为真才会执行
    i++; // 更新计数器
    console.log(i); //输出1,2,3......10
}

//do...while循环,循环与 while 循环类似,但不同的是,它会先执行一次循环体,然后再检查条件是否为真
//注意执行循环体前i=10
do {
    // 循环体:每次循环执行的代码
    i++; // 此时i=11
    console.log(i); //输出一次,结果为11
} while (i < n); //11<10条件为假,终止循环

2.3、死循环

while(true){
    console.log(1); //不停的在控制台输出1,严重会导致电脑运行内存爆满导致卡死
}

//条件永远会成立
let i = 0;
while(i<10){
    i--; //新手容易出现的错误编程
}

for(let j = 0; j<10; j--){
    //死循环
}

小结:在编程过程中,应避免出现死循环的情况,一旦出现死循环可能会大量占用电脑运行内存,严重的话会导致电脑死机

2.4、循环结构中的break与continue

break 用于立即终止当前所在的循环(forwhiledo...while),并跳出循环体,继续执行循环后面的代码。

continue 用于跳过当前循环的剩余部分,并立即开始下一次循环迭代。

//break的作用
for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break; // 当 i 等于 5 时,跳出循环
    }
    console.log(i); // 输出 0, 1, 2, 3, 4
}
console.log('循环结束'); // 跳出循环后执行

//continue的作用
for (let i = 0; i < 10; i++) {
    if (i === 5) {
        continue; // 当 i 等于 5 时,跳过本次循环的剩余部分
    }
    console.log(i); // 输出 0, 1, 2, 3, 4, 6, 7, 8, 9
}
console.log('循环结束'); // 循环正常结束后执行

小结:JavaScript提供了多种循环结构,每种结构都有其特定的用途和优势。选择哪种循环结构取决于你的具体需求和代码的可读性。for 循环适用于已知循环次数的情况,while 和 do...while 循环适用于循环次数未知但条件明确的情况,for...in 循环用于遍历对象的属性,for...of 循环用于遍历可迭代对象的值。

3、捕获异常

try {
    // 可能会抛出错误的代码
/*
    在这个块中,你放置可能会抛出异常的代码。
    如果在 try 块中的代码抛出了一个异常,JavaScript 会立即停止执行 try 块中的剩余代码,并跳转到    catch 块。
*/
} catch (error) {
    // 处理错误的代码
/*
    catch 块用于捕获 try 块中抛出的异常。
    catch 块接收一个参数(通常命名为 error 或 e),这个参数是一个包含异常信息的对象。
    你可以在 catch 块中编写处理异常的代码,比如记录错误信息、提示用户、或者执行一些清理操作。
*/
} finally {
    // 无论是否发生错误,都会执行的代码(可选)
/*
    finally 块中的代码无论是否发生异常都会执行。
    通常用于释放资源或执行必须的清理操作。
*/
}

小结:通过合理使用 try...catch,你可以使你的JavaScript代码更加健壮和易于维护,尤其是在处理可能会失败的操作(如网络请求、文件操作等)时

二、JS宏中简单的批量操作

1、批量创建工作簿

function main(){
	let n = 0;
	while(n<=5){
		Workbooks.Add();
		n++;
	}
}
//执行后会出现6个工作簿窗口

2、批量创建工作表

function main(){
	let n = 0;
	while(n<=5){
		Sheets.Add();
		n++;
	}
}

3、依次在一列中填充1~20个序号

function main(){
	let n = 1;
	while(n<=20){
		Range("A" + n).Value2 = n;
		n++;
	}
}

小结:通过循环语句,可以轻松实现一些批量操作。

下一节:js宏中的文件操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jackispy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值