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

WPS JS宏编程教程(从基础到进阶)-- 第三部分:JS宏编程语言开发基础

第三部分:JS宏编程语言开发基础

    • @[TOC](第三部分:JS宏编程语言开发基础)
  • **第三部分:JS宏编程语言开发基础**
    • 1. 变量与数据类型
      • **变量声明:三种方式**
        • **示例代码**
      • **数据类型判断**
        • **实战:动态处理单元格类型**
    • 2. 运算符全解析
      • **算术运算符**
        • **易错点:字符串拼接 vs 数值相加**
      • **比较与逻辑运算符**
        • **实战:员工奖金计算**
    • 3. 流程控制语句
      • **分支语句**
        • **if-else:成绩评级系统**
        • **switch:工作日判断**
      • **循环语句**
        • **for循环:批量生成序号**
        • **for...of:遍历单元格区域**
    • 4. 错误处理与调试
      • **try-catch:安全除法计算**
      • **调试技巧**
    • **综合实战案例:自动生成九九乘法表**
      • **需求描述**
      • **实现思路**
      • **完整代码**
      • **代码解析**
      • **效果演示**
    • **第三部分总结**
      • **挑战题参考答案**

第三部分:JS宏编程语言开发基础


1. 变量与数据类型

变量声明:三种方式

关键字 作用域 是否可重复声明 典型案例
var 全局/函数级 全局计数器、临时存储
let 块级作用域 循环计数器、局部数据处理
const 块级作用域 固定配置参数(如税率、路径)
示例代码
function 变量演示() {
     
  var 全局变量 = "我是var";  
  if (true) {
     
    let 局部变量 = "我是let";  
    const 圆周率 = 3.14;  
    Console.log(局部变量);  // 正常输出  
  }  
  // Console.log(局部变量);  // 报错!let变量超出作用域  
  Console.log(全局变量);    // 正常输出  
}  

数据类型判断

类型 检测方法 示例值
数字 typeof x === "number" 283.14
字符串 typeof x === "string" "Hello"
布尔值 typeof x === "boolean" truefalse
未定义 typeof x === "undefined" let x;
对象 typeof x === "object" Range("A1")
实战:动态处理单元格类型
function 处理单元格() {
     
  let cell = Range("A1");  
  switch (typeof cell.Value2) {
     
    case "number":  
      cell.Value2 *= 2;  // 数字则翻倍  
      break;  
    case "string":  
      cell.Value2 = cell.Value2.toUpperCase();  // 文本转大写  
      break;  
    default:  
      cell.Value2 = "未知类型";  
  }  
}  

2. 运算符全解析

算术运算符

运算符 作用 示例
+ 加法/连接符 3 + 5 → 8"A" + "B" → "AB"
- 减法 10 - 3 → 7
* 乘法 6 * 7 → 42
/ 除法 15 / 2 → 7.5
% 取余 15 % 4 → 3
++ 自增 let x=5; x++ → 6
-- 自减 let y=8; y-- → 7
易错点:字符串拼接 vs 数值相加
let a = "5", b = 3;  
Console.log(a + b);  // "
http://www.dtcms.com/a/109131.html

相关文章:

  • Linux线程概念与控制:【线程概念(页表)】【Linux线程控制】【线程ID及进程地址空间布局】【线程封装】
  • 32f4,串口1,usart.c.h2025
  • EIP-712:类型化结构化数据的哈希与签名
  • 【行测】判断推理:图形推理
  • System.arraycopy()
  • SD 重温学习笔记
  • 深入理解 Python 中的 `server.listen(backlog)`:监听队列的奥秘
  • 《深度探秘:SQL助力经典Apriori算法实现》
  • GO语言学习(17)Gorm的数据库操作
  • 两点与圆(异或神通)
  • 快速求平方根
  • 【每日一个知识点】分布式数据湖与实时计算
  • Ubuntu上离线安装ELK(Elasticsearch、Logstash、Kibana)
  • Vulkan实例教程1 - Vulkan应用程序结构(附代码)
  • node ---- 解决错误【Error: error:0308010C:digital envelope routines::unsupported】
  • 第一部分 领域驱动设计的原则与实践
  • 10.多线程
  • 【C++】第八节—string类(上)——详解+代码示例
  • P4305 [JLOI2011] 不重复数字
  • 系统与网络安全------Windows系统安全(8)
  • 纯c++实现transformer 训练+推理
  • AI+自动化测试:如何让测试编写效率提升10倍?
  • torch 拆分子张量 分割张量
  • idea运行tomcat项目,很慢的问题
  • 我想尝试做一个钢铁侠反应堆
  • 人工智能与大模型的关系
  • Java学习总结-io流-练习案例
  • 4.3学习总结
  • umi框架开发移动端h5
  • 【MySQL】理解MySQL的双重缓冲机制:Buffer Pool与Redo Log的协同之道