WPS宏开发手册——JSA语法

news2025/3/25 21:40:58

目录

    • 系列文章
    • 2、JSA语法
      • 2.1、打印输出
      • 2.2、注释
      • 2.3、变量
      • 2.4、数据类型
      • 2.5、函数
      • 2.6、运算符
      • 2.7、比较
      • 2.8、if else条件语句
      • 2.9、for循环
      • 2.10、Math对象(数字常用方法)
      • 2.11、字符串常用方法
      • 2.12、数组常用方法

系列文章

    使用、工程、模块介绍
    JSA语法
    第三篇练习练习题,持续更新中…

2、JSA语法

2.1、打印输出

语法:在立即窗口输出显示括号内的东西
console.log()
示例1:
在这里插入图片描述
示例2:打印多个,可以用逗号分割
在这里插入图片描述

2.2、注释

语法:注释后的内容将不会被执行,一般情况下使用单行注释就够了。
单行注释:// 后面是内容
多行注释:/* 里面是内容 */
示例:
在这里插入图片描述

2.3、变量

语法:变量定义后可以被修改,常量定义后不可以修改。一般情况使用let就可以了,可以将let是var的高级用法,而const目前只需要了解即可
var:定义一个变量
let:定义一个变量
const:定义一个常量
区别:
let,const不能重复定义,var可以
const 在声明时必须被赋值,且值不能被修改
示例:
在这里插入图片描述

2.4、数据类型

2.4.1、数字number
在这里插入图片描述
2.4.2、字符串string
    需要用英文引号包起来,双引号、单引号皆可。且将数字包裹时,那么该变量的数据类型也是字符串,而非数字。
在这里插入图片描述
2.4.3、布尔boolean
    布尔值只有 true 和false
在这里插入图片描述
2.4.4、数组array
    需要用英文中括号[]包起来,每个元素之间用英文逗号,分割,每个元素可以是数字、字符串、布尔、数组、对象、null、undefined、空。目前数组中一般只会用到数字、字符串。
    数组无法直接打印输出,需要使用JSON.stringify
    数组length:就是指数组中有几个元素
    数组下标:下标从0开始,可以通过下标取出数组中指定的元素
在这里插入图片描述
2.4.5、对象object
    需要用英文大括号包{}起来,每个元素由键值对组层,键值对之间由英文逗号,分割。键可以为数字、字符串,建议使用字符串,可以加引号也可以不加。值可以为数字、字符串、布尔、数组、对象、null、undefined、空。
    数组无法直接打印输出,需要使用JSON.stringify
    键的作用:可以通过对象.键或者对象[键]获取到对应的值
在这里插入图片描述
2.4.6、null
    代表空,了解即可
2.4.7、undefined
    代表定义未赋值,了解即可

2.5、函数

语法:即为宏的定义方式,函数名就是宏名

function 函数名() {
	// 函数体
}

示例: aaa就是函数名,即宏名。大括号内的即函数体
在这里插入图片描述

2.6、运算符

2.6.1、+
    数字与数字相加,求和。数字与字符串相加,为拼接。
在这里插入图片描述
2.6.2、-
    数字与数字相减、数字与字符串数字相减,求差。数字与字符串相减,无法运算。
在这里插入图片描述
2.6.3、,/
    乘除与减法相同。数字与数字乘除、数字与字符串数字乘除,求乘除。数字与字符串乘除,无法运算。
在这里插入图片描述
2.6.4、%
    取余,同减、乘、除。
在这里插入图片描述
2.6.5、+=、-=、
=、/=、%=
    等同于自身运算后赋值给自身。
在这里插入图片描述
2.6.6、++、–
    自增、自减。数字、字符串数字皆可。 ++ 等同于 += 1, – 等同于 -= 1。写在后面,先赋值再运算。写在前面。先运算后赋值。
在这里插入图片描述
2.6.7、!
    取反,即!true等同于false,!false等同于true 。数字0等同于false,其他数字等同于true。
在这里插入图片描述

2.7、比较

2.7.1、==
    判断两个变量是否相等,返回布尔值
在这里插入图片描述
2.7.2、===
    判断两个变量的数据类型以及值是否相等,返回布尔值
在这里插入图片描述
2.7.3、!=
    判断两个变量是否不相等,返回布尔值。与2.7.1相反
2.7.4、!==
    判断两个变量的数据类型或值是否不相等,返回布尔值。与2.7.2相反
2.7.5、>,<,>=,<=
    判断两个变量的值是否满足大小比较,返回布尔值
在这里插入图片描述
2.7.6、&& 与 ||
    并且与或者,并且&&是两个都满足时才满足,或者||是只要满足一个就满足。
在这里插入图片描述

2.8、if else条件语句

语法1:

if (条件) {
	// 满足条件 代码体1
} else {
	// 不满足条件 代码体2
}

示例: wang > mi就是条件
在这里插入图片描述
语法2:

if (条件1) {
	// 满足条件1 代码体1
} else  if (条件2){
	// 不满足条件1,满足条件2 代码体2
} else {
	// 偶不满足 代码体3
}

在这里插入图片描述
语法3:

if (条件1) {
	// 满足条件1 代码体1
}

在这里插入图片描述
语法4:

if (条件1) {
	// 满足条件1 代码体1
	if (条件2) {
		// 满足条件1,满足条件2 代码体2
	} else {
		// 满足条件1,不满足条件2 代码体3
	}
} else {
	// 不满足条件1 代码体4
}

2.9、for循环

语法:

for (变量定义, 条件, 变量运算) {
	// 满足条件 
}

示例: i = 0就是变量定义, i < 4就是条件, i++ 就是变量运算。
在这里插入图片描述
break: 结束循环
示例:
在这里插入图片描述
continue: 跳过本次循环
示例:
在这里插入图片描述

2.10、Math对象(数字常用方法)

2.10.1、Math.max(a,b,c,…)
    取一组数字(a,b,c,…)中的最大值
在这里插入图片描述
2.10.2、Math.min(a,b,c,…)
    取一组数字(a,b,c,…)中的最小值,用法同上
2.10.3、Math.random()
    随机生成0-1之间的一个小数
在这里插入图片描述
2.10.4、Math.abs(x)
    取x绝对值
在这里插入图片描述
2.10.5、Math.ceil(x)
    x向上取整
在这里插入图片描述
2.10.6、Math.floor(x)
    x向下取整
在这里插入图片描述
2.10.7、Math.round(x)
    x四舍五入
在这里插入图片描述
2.10.8、Math.exp(a)
    e的a次后的值。比如E的2次写法如下
在这里插入图片描述
2.10.9、Math.round(a)
    log以e为底a的值。log以e为底2的写法如下
在这里插入图片描述
2.10.10、Math.pow(x, y)
    x的y次的值。2的3 次的写法如下
在这里插入图片描述
2.10.11、Math.sqrt(x)
    x的平方根
在这里插入图片描述
2.10.12、x.toFixed(y)
    数字x四舍五入保留y 位小数
在这里插入图片描述

2.11、字符串常用方法

2.11.1、toLowerCase()
    将字符串转换为小写
在这里插入图片描述
2.11.2、toUpperCase()
    将字符串转换为大写
在这里插入图片描述
2.11.3、indexOf(x)
    获取指定字符x在字符串中第一次出现的位置。
    下面例子中字符串AfdDd中d第一次出现是在第三个位置,计数是从0开始,所以输出2。
在这里插入图片描述
2.11.4、lastIndexOf(x)
    获取指定字符x在字符串中最后第一次出现的位置。
    下面例子中字符串AfdDd中d第一次出现是在第五个位置,计数是从0开始,所以输出4。
在这里插入图片描述
2.11.5、slice(start, end)
    截取字符串从start开始,到end结束之间的内容。
    下面例子中字符串AfdDd中从下标1开始截取,下标3结束。左闭右开区间,即下标1的字符f要截取,下标3的字符d不截取。
    end可以省略,代表要从start开始截取至末尾
在这里插入图片描述
2.11.6、substring(start, end)
    同上。
在这里插入图片描述
2.11.7、substr(start, length)
    截取字符串从start开始,截取长度为length的内容。
    下面例子中字符串AfdDd中从下标1开始截取,长度为3。左闭,下标1的字符f要截取。
    length可以省略,代表要从start开始截取至末尾
在这里插入图片描述
2.11.8、split(x)
    通过字符x将字符串分割为数组。
    下面例子中字符串AfdDdc通过字符d分割后,arr的值就是[‘Af’,‘D’,‘c’],故而循环数组中可以输出Af、D、c
在这里插入图片描述
2.11.9、replace(str1, str2)
    将字符串中第一次出现的str1替换为str2。
    下面例子中字符串AfdDdcfda将第一次出现的字符fd这个整体替换为了0。
在这里插入图片描述
    如果要实现全部替换将使用/内容/g来实现。
    下面例子中字符串AfdDdcfda将所有的fd这个整体替换为了空,相当于删除了字符串中的fd这个整体。
在这里插入图片描述

2.12、数组常用方法

2.12.1、push(x)
    向数组的末尾添加一个元素X
在这里插入图片描述
2.12.2、pop()
    向数组的末尾删除一个元素
在这里插入图片描述
2.12.3、unshift(x)
    向数组的头部添加一个元素x
在这里插入图片描述
2.12.4、shift()
    向数组的头部删除一个元素
在这里插入图片描述
2.12.5、slice(start,end)
    截取数组从start开始,到end结束之间的内容。
    下面例子中数组[‘b’, ‘g’, ‘d’, ‘e’, ‘e’, ‘d’]中从下标1开始截取,下标3结束。左闭右开区间,即下标1的字符g要截取,下标3的字符e不截取。
    end可以省略,代表要从start开始截取至末尾
在这里插入图片描述
2.12.6、splice(i,n,m,m,m,…)
    从数组下标i开始,删除n个元素,然后添加元素m。
    下面例子中数组[‘b’, ‘g’, ‘d’, ‘e’, ‘e’, ‘d’]中从下标1开始删除,删除3个,即删除了’g’, ‘d’, ‘e’,然后在该位置插入了’x’, ‘y’,所以最终数组变更为[‘b’, ‘x’, ‘y’, ‘e’, ‘d’]。
在这里插入图片描述
2.12.7、reverse()
    将数组反转。
    下面例子中数组[‘b’, ‘g’, ‘d’, ‘e’, ‘e’, ‘d’],反转后变更为了[‘d’, ‘e’, ‘e’, ‘d’, ‘g’,‘b’]
在这里插入图片描述
2.12.8、sort()
    排序,默认从小到大排序。
    下面例子中数组[‘ba’, ‘ad’, ‘aa’],排序时先按照第一个字母排序,第一个字母一样时再按照第二个,以此类推,所以排序后变更为[‘aa’, ‘ad’, ‘ba’]。数组[1, 3, 2]排序后变更为[1, 2, 3]。
    如果想要得到从大到小的排序,在执行完sort方法后,再次执行上面的reverse方法即可。
在这里插入图片描述
2.12.9、concat()
    将两个数组拼接。
    下面例子中数组[‘ba’, ‘ad’, ‘aa’]与[1, 3, 2],拼接后得到新数组为[‘ba’, ‘ad’, ‘aa’,1, 3, 2]。
在这里插入图片描述
2.12.10、join(x)
    将数组通过字符x拼接转换为字符串。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2321556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

word中指定页面开始添加页码

第一步&#xff1a; 插入页码 第二步&#xff1a; 把光标放到指定起始页码处 第三步&#xff1a; 取消链接到前一节 此时关掉页脚先添加分节符 添加完分节符后恢复点击 第四步&#xff1a; 设置页码格式&#xff0c;从1开始 第五步&#xff1a; 删掉不要的页码&#xff0c…

Python实现deepseek接口的调用

简介&#xff1a;DeepSeek 是一个强大的大语言模型&#xff0c;提供 API 接口供开发者调用。在 Python 中&#xff0c;可以使用 requests 或 httpx 库向 DeepSeek API 发送请求&#xff0c;实现文本生成、代码补全&#xff0c;知识问答等功能。本文将介绍如何在 Python 中调用 …

文档处理控件Aspose.Words 教程:.NET版中增强的 AI 文档摘要功能

Aspose.Words是一个功能强大的 Word 文档处理库。它可以帮助开发人员自动编辑、转换和处理文档。 自 24.11 版以来&#xff0c;Aspose.Words for .NET 提供了 AI 驱动的文档摘要功能&#xff0c;使用户能够从冗长的文本中快速提取关键见解。在 25.2 版中&#xff0c;我们通过使…

19,C++——11

目录 一、 C11简介 二、 新增的列表初始化 三、 新增的STL容器 四、 简化声明 1&#xff0c;auto 2&#xff0c;decltype 3&#xff0c;nullptr 五、右值引用 1&#xff0c;左值引用和右值引用 2&#xff0c;两种引用的比较 3&#xff0c;左值引用的使用场景 4&…

风尚云网|前端|前后端分离架构深度剖析:技术革新还是过度设计?

前后端分离架构深度剖析&#xff1a;技术革新还是过度设计&#xff1f; 作者&#xff1a;风尚云网 在数字化转型浪潮中&#xff0c;前后端分离架构已成为现代Web开发的主流模式。但这项技术真的是银弹吗&#xff1f;本文将从工程实践角度&#xff0c;剖析其优势与潜在风险&am…

CMS网站模板设计与用户定制化实战评测

内容概要 在数字化转型背景下&#xff0c;CMS平台作为企业内容管理的核心载体&#xff0c;其模板架构的灵活性与用户定制能力直接影响运营效率。通过对WordPress、Baklib等主流系统的技术解构发现&#xff0c;模块化设计理念已成为行业基准——WordPress依托超过6万款主题库实…

搭建个人博客教程(Hexo)

如何快速搭建一套本地的博客系统呢&#xff1f;这里有一套gitNode.jsHexo的部署方案来进行解决。 安装git Git 是一款免费开源的分布式版本控制系统&#xff0c;由 Linus Torvalds 于 2005 年为 Linux 内核开发设计。它通过本地仓库和远程仓库实现代码管理&#xff0c;支持分支…

Docker 可视化工具 Portainer

Docker 可视化工具 Portainer安装 官方安装地址&#xff1a;https://docs.portainer.io/start/install-ce/server/docker/wsl 一&#xff0c;首先&#xff0c;创建 Portainer Server 用来存储数据库的卷&#xff1a; docker volume create portainer_data二&#xff0c;然后…

数据库基础知识点(系列二)

1&#xff0e;关系数据模型由哪三个要素组成。 答&#xff1a;关系数据模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 2&#xff0e;简述关系的性质。&#xff08;关系就是一张二维表格&#xff0c;但不是任何二维表都叫关系&#xff09; 答&#xff1a;(1…

如何进行灌区闸门自动化改造-闸门远程控制系统建设

改造背景 操作效率低‌&#xff1a;人工启闭耗时耗力&#xff0c;单次操作需2-3人配合&#xff0c;耗时长。 ‌水资源浪费‌&#xff1a;依赖经验估算放水量&#xff0c;易导致漫灌或供水不足。 ‌管理滞后‌&#xff1a;无法实时监控水位、流量&#xff0c;故障响应延迟。 …

【算法笔记】图论基础(二):最短路、判环、二分图

目录 最短路松弛操作Dijkstra朴素Dijkstra时间复杂度算法过程例题 堆优化Dijkstra时间按复杂度算法过程例题 bellman-ford时间复杂度为什么dijkstra不能处理负权边&#xff1f;dijkstra的三个步骤&#xff1a;反例失效的原因 算法过程例题 spfa时间复杂度算法过程例题spfa求最短…

EMS小车技术特点与优势:高效灵活的自动化输送解决方案

北成新控伺服技术丨EMS小车调试视频 EMS小车是一种基于单轨运行的电动输送系统&#xff0c;通过电力驱动实现物料的高效搬运和输送&#xff0c;具有高效灵活、节能环保、多功能集成、行业适配性强等特性&#xff0c;广泛应用于汽车制造、工程机械、家电生产、仓储物流等行业自动…

uniapp运行到支付宝开发者工具

使用uniapp编写专有钉钉和浙政钉出现的样式问题 在支付宝开发者工具中启用2.0构建的时候&#xff0c;在开发工具中页面样式正常 但是在真机调试和线上的时候不正常 页面没问题&#xff0c;所有组件样式丢失 解决 在manifest.json mp-alipay中加入 "styleIsolation&qu…

C++ 性能优化隐藏陷阱:从系统调用到并发开销的深度反思

作为一名C++技术专家,我深知性能优化不仅是代码层面的艺术,更是理解硬件与语言交互的科学。在现代计算中,C++的抽象为开发者提供了便利,却也隐藏了硬件的复杂性。如何揭开这些“谎言”,让代码与硬件协同工作?本文将以小案例为载体,通过优化前后的对比,深入剖析每个章节…

Unity 使用 Protobuf(Pb2)二进制数据全流程工具详解

前言 在Unity游戏开发中&#xff0c;高效、快速、安全地读取配置数据是一项重要需求。本文介绍一种完整的解决方案——使用Protobuf二进制格式&#xff08;Pb2&#xff09;存储和读取游戏数据&#xff0c;并详细分享实现全流程的Unity工具。 一、技术流程概览 实现Unity读取…

基于QT(C++)实现绘图程序

绘图程序 1 核心算法 1.1 图元生成 1.1.1 直线 画直线的算法采用了课上讲到的 Bresenhan 算法&#xff0c;采用整数增量运算&#xff0c;精确而有效的光栅设备生成算法。 基本思想是&#xff1a;当直线斜率的绝对值小于 1 时&#xff0c;从左端点开始作为起点&#…

深入剖析ReLU激活函数:特性、优势与梯度消失问题的解决之道,以及Leaky ReLU 和 Parametric ReLU

深入剖析ReLU激活函数&#xff1a;特性、优势与梯度消失问题的解决之道 在深度学习领域&#xff0c;激活函数的选择直接影响神经网络的训练效果和性能。整流线性单元&#xff08;Rectified Linear Unit&#xff0c;简称ReLU&#xff09;因其简单性、高效性以及对梯度消失问题的…

服务注册/服务发现-Eureka

目录 1.引言&#xff1a;如果一个父项目中有多个子项目&#xff0c;但是这些子项目如何如何相互调用彼此的业务呢&#xff1f; 2.什么是注册中心 3.CAP理论 4.EureKa 5.服务注册 6.服务发现 7.负载均衡 1.引言&#xff1a;如果一个父项目中有多个子项目&#xff0c;但是…

计算机网络——数据链路层的功能

目录 物理链路 逻辑链路 封装成帧&#xff08;组帧&#xff09; 帧定界 透明传输 SDU 差错控制 可靠传输 流量控制 介质访问控制 主机需要实现第一层到第五层的功能&#xff0c;而路由器这种节点只需要实现第一层到第三层的这些功能 假设左边用户需要给右边用户发送…

第60天:Web攻防-XSS跨站文件类型功能逻辑SVGPDFSWFPMessageLocalStorage

#知识点 1、Web攻防-XSS跨站-文件类型-html&pdf&swf&svg 2、Web攻防-XSS跨站-功能逻辑-postMessage&localStorage 术语&#xff1a;上传xss->其实就是将有恶意js代码的各类文件&#xff08;swf,pdf,svg,html.xml等&#xff09;上传->访问该文件->让浏…