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

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);  // "

相关文章:

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

第三部分:JS宏编程语言开发基础 @[TOC](第三部分:JS宏编程语言开发基础)**第三部分:JS宏编程语言开发基础**1. 变量与数据类型**变量声明:三种方式****示例代码****数据类型判断****实战:动态处理单元格类型**2. 运算符全解析**算术运算符****易错点:字符串拼接 vs 数值相…...

BT-Basic函数之首字母T

BT-Basic函数之首字母T 文章目录 BT-Basic函数之首字母Ttabtesttest conttest monitortest on boardstest scanworkstest shortstesthead cleanuptesthead configurationtesthead istesthead power on/offtesthead statustestjet print level istestordertestplan generationth…...

经典算法 约数之和

原题目链接 问题描述 假设现在有两个自然数 A 和 B,设 S 为 A^B 的所有约数之和。 请你计算:S mod 9901 的值。 输入格式 在一行中输入两个用空格隔开的整数 A 和 B。 输出格式 输出一个整数,表示 S mod 9901 的值。 数据范围 0 ≤ A, …...

Flinksql--订单宽表

参考: https://chbxw.blog.csdn.net/article/details/115078261 (datastream 实现) 一、ODS 模拟订单表及订单明细表 CREATE TABLE orders (order_id STRING,user_id STRING,order_time TIMESTAMP(3),-- 定义事件时间及 Watermark(允许5秒乱序&#x…...

C# 窗体应用(.FET Framework ) 打开文件操作

一、 打开文件或文件夹加载数据 1. 定义一个列表用来接收路径 public List<string> paths new List<string>();2. 打开文件选择一个文件并将文件放入列表中 OpenFileDialog open new OpenFileDialog(); // 过滤 open.Filter "(*.jpg;*.jpge;*.bmp;*.png…...

极客天成NVFile:无缓存直击存储性能天花板,重新定义AI时代并行存储新范式

在AI算力需求呈指数级爆发的今天&#xff0c;存储系统正面临一场前所未有的范式革命。传统存储架构中复杂的缓存机制、冗余的数据路径、僵化的扩展能力&#xff0c;已成为制约千卡GPU集群算力释放的重要因素。极客天成NVFile并行文件存储系统以全栈并行化架构设计和无缓存直通数…...

Java实现N皇后问题的双路径探索:递归回溯与迭代回溯算法详解

N皇后问题要求在NN的棋盘上放置N个皇后&#xff0c;使得她们无法互相攻击。本文提供递归和循环迭代两种解法&#xff0c;并通过图示解释核心逻辑。 一、算法核心思想 使用回溯法逐行放置皇后&#xff0c;通过冲突检测保证每行、每列、对角线上只有一个皇后。发现无效路径时回退…...

【代码艺廊】pyside6桌面应用范例:homemade-toolset

在研发测试日常工作中&#xff0c;通常会遇到很多琐碎的事情&#xff0c;占用我们工作的时间和精力&#xff0c;从而导致我们不能把大部分的注意力放在主要的工作上面。为了解决这个问题&#xff0c;除了加人之外&#xff0c;我们通常会开发一些日常用的效率工具&#xff0c;比…...

LeetCode 3047 求交集区域内的最大正方形面积

探寻矩形交集中的最大正方形面积 在算法与数据结构的探索之路上&#xff0c;二维平面几何问题一直占据着独特的地位&#xff0c;它们不仅考验我们的空间思维能力&#xff0c;还要求我们能够巧妙地运用算法逻辑。今天&#xff0c;我们将深入剖析一道极具代表性的二维平面几何算…...

谷歌开源单个 GPU 可运行的Gemma 3 模型,27B 超越 671B 参数的 DeepSeek

自从 DeepSeek 把训练成本打下来之后&#xff0c;各个模型厂家现在不再堆参数进行模型的能力对比。而是转向了训练成本优化方面&#xff0c;且还要保证模型能力不减反增的效果。包括使用较少的模型参数&#xff0c;降低 GPU 使用数量&#xff0c;降低模型内存占用等等技术手段。…...

C++_类和对象(下)

【本节目标】 再谈构造函数Static成员友元内部类匿名对象拷贝对象时的一些编译器优化再次理解封装 1. 再谈构造函数 1.1 构造函数体赋值 在创建对象时&#xff0c;编译器通过调用构造函数&#xff0c;给对象中各个成员变量一个合适的初始值。 class Date { public:Date(in…...

《Java实战:素数检测算法优化全解析——从暴力枚举到筛法进阶》

文章目录 摘要一、需求分析二、基础实现代码与问题原始代码&#xff08;暴力枚举法&#xff09;问题分析 三、优化版代码与解析优化1&#xff1a;平方根范围剪枝优化2&#xff1a;偶数快速跳过完整优化代码 四、性能对比五、高阶优化&#xff1a;埃拉托斯特尼筛法算法思想代码实…...

基于Python+Flask的服装零售商城APP方案,用到了DeepSeek AI、个性化推荐和AR虚拟试衣功能

首先创建项目结构&#xff1a; fashion_store/ ├── backend/ │ ├── app/ │ │ ├── __init__.py │ │ ├── models/ │ │ ├── routes/ │ │ ├── services/ │ │ └── utils/ │ ├── config.py │ ├── requirements.t…...

二,<FastApi>FastApi的两个核心组件

FastAPI的两个核心组件Pydantic和Starlette。 Starlette 负责Web部分(Asyncio),Starlette Starlette是一个轻量级的ASGI框架/工具包&#xff0c;非常适合在Python构建异步Web服务。 它已经准备好生产&#xff0c;并为您提供以下内容&#xff1a; 轻巧的低复杂性HTTP Web框架。W…...

Docker设置代理

目录 前言创建代理文件重载守护进程并重启Docker检查代理验证 前言 拉取flowable/flowable-ui失败&#xff0c;用DaoCloud源也没拉下来&#xff0c;不知道是不是没同步。索性想用代理拉镜像。在此记录一下。 创建代理文件 创建docker代理配置 sudo mkdir -p /etc/systemd/s…...

一键自动备份:数据安全的双重保障

随着数字化时代的到来&#xff0c;数据已成为企业和个人不可或缺的核心资产。在享受数据带来的便捷与高效的同时&#xff0c;数据丢失的风险也随之增加。因此&#xff0c;备份文件的重要性不言而喻。本文将深入探讨备份文件的重要性&#xff0c;并介绍两种实用的自动备份方法&a…...

HeidiSQL:多数据库管理工具

HeidiSQL 是一款广受欢迎的免费开源数据库管理工具&#xff0c;专为数据库管理员及开发者设计。无论您是刚接触数据库领域的新手&#xff0c;还是需要同时处理多种数据库系统的专业开发者&#xff0c;该工具都能凭借其直观的界面和强大的功能&#xff0c;助您轻松完成数据管理任…...

医药档案区块链系统

1. 医生用户模块​​ ​​目标用户​​&#xff1a;医护人员 ​​核心功能​​&#xff1a; ​​检索档案​​&#xff1a;通过关键词或筛选条件快速定位患者健康档案。​​请求授权​​&#xff1a;向个人用户发起档案访问权限申请&#xff0c;需经对方确认。​​查看档案​…...

【Python学习】列表/元组等容器的常用内置函数详解

文章目录 map使用示例&#xff1a; filter示例&#xff1a;注意事项&#xff1a; sortedsorted() 与 list.sort() 的区别&#xff1a; any示例&#xff1a; all示例&#xff1a; any 与 all 的对比zip示例&#xff1a;常见用途&#xff1a; enumerate示例&#xff1a;常见用途&…...

蓝桥云客--浓缩咖啡液

4.浓缩咖啡液【算法赛】 - 蓝桥云课 问题描述 蓝桥杯备赛选手小蓝最近刷题刷到犯困&#xff0c;决定靠咖啡续命。他手上有 N 种浓缩咖啡液&#xff0c;浓度分别是 A1​%, A2​%, …, AN​%&#xff0c;每种存货都是无限的。为了提神又不炸脑&#xff0c;小蓝需要按比例混合这…...

SQLark(百灵连接):一款面向信创应用开发者的数据库开发和管理工具

SQLark&#xff08;百灵连接&#xff09;是一款面向信创应用开发者的数据库开发和管理工具&#xff0c;用于快速查询、创建和管理不同类型的数据库系统。 目前可以支持达梦数据库、Oracle 以及 MySQL。 SQL 智能编辑器 基于语法语义解析实现代码补全能力&#xff0c;为你提供…...

计算机视觉——为什么 mAP 是目标检测的黄金标准

概述 在目标检测领域&#xff0c;有一个指标被广泛认为是衡量模型性能的“黄金标准”&#xff0c;它就是 mAP&#xff08;Mean Average Precision&#xff0c;平均精确率均值&#xff09;。如果你曾经接触过目标检测模型&#xff08;如 YOLO、Faster R-CNN 或 SSD&#xff09;…...

Frame Of Reference压缩算法

文章目录 1_概述2_算法基本步骤3_过程优化4_优势以及局限5_模拟实现6_总结 1_概述 Frame of Reference&#xff08;FoR&#xff09;压缩算法 是一种用于压缩数值数据的算法&#xff0c;特别是在处理大规模数据集时&#xff0c;利用数据的局部性和重复性来减少存储和传输的开销…...

1.0 软件测试全流程解析:从计划到总结的完整指南

软件测试全流程解析&#xff1a;从计划到总结的完整指南 摘要 本文档详细介绍了软件测试的完整流程&#xff0c;包括测试计划、测试设计、测试执行、测试报告和测试总结等主要阶段。每个阶段都从目标、主要工作、输出物和注意事项等方面进行了详细说明。通过本文档&#xff0…...

嵌入式AI简介

嵌入式AI是一种将人工智能算法部署在终端设备中运行的技术&#xff0c;使智能硬件能够在本地实时完成感知、交互和决策功能&#xff0c;无需依赖云端计算。以下是其核心要点&#xff1a; 一、核心特点 1. 本地化处理&#xff1a;数据在设备端直接处理&#xff0c;无需联网&a…...

esp32cam 开发板搭载ov3660摄像头在arduino中调用kimi进行图像识别

首先呢,最近搞一个项目,需要一个摄像头拍摄图片 就买了个ov3660开发板,用的esp32S芯片 淘宝商家给的教程是arduino的,所以先用arduino跑起来 arduino配置esp32-cam开发环境 - 简书1、安装arduino https://www.arduino.cc/en/Main/Software?setlang=cn 2、配置esp32 打开…...

二十种中药果实识别分类系统,Python/resnet18/pytorch

二十种中药果实识别分类系统,Python/resnet18/pytorch 基于pytorch训练, resnet18网络&#xff0c;可用于训练其他分类问题&#xff0c;也可自己重新训练 20类中药材具体包括&#xff1a;(1) 补骨脂&#xff0c;(2) 草豆蔻&#xff0c;(3) 川楝子&#xff0c;(4) 地肤子&…...

如何实现两个视频融合EasyCVR平台的数据同步?详细步骤指南

有用户咨询&#xff0c;现场需要数据库同步&#xff0c;如何将两个EasyCVR平台的数据进行同步呢&#xff1f; 这篇文章我们将详细介绍如何通过简单的接口调用&#xff0c;高效完成两个平台的数据同步操作。 1&#xff09;获取token 使用Postman调用登录接口&#xff0c;获取…...

WindowsPE文件格式入门05.PE加载器LoadPE

https://bpsend.net/thread-316-1-1.html LoadPE - pe 加载器 壳的前身 如果想访问一个程序运行起来的内存,一种方法就是跨进程读写内存,但是跨进程读写内存需要来回调用api,不如直接访问地址来得方便,那么如果我们需要直接访问地址,该怎么做呢?.需要把dll注进程,注进去的代码…...

使用Cusor 生成 Figma UI 设计稿

一、开发环境 系统&#xff1a;MacOS 软件版本&#xff1a; Figma&#xff08;网页或APP版&#xff09; 注&#xff1a;最好是app版&#xff0c;网页版figma 没有选项 import from manifest app下载地址&#xff1a;Figma Downloads | Web Design App for Desktops & …...