4.1表达式
在报表计算结果过程中,除了工具本身固定的计算外,用户可能需要按照需求去进行一些额外的数据计算或者逻辑判断,这时候就需要使用到表达式;因此,报表不仅定义了“表达式”类型的单元格,还允许在数据的过滤和显示、条件属性中使用表达式。
基本语法
报表的表达式执行引擎是Javascript引擎,因此所使用的语法为Javascript的语法。下面简单介绍一下表达式中经常用上的语法和表达式:
1.变量声明
var a = ‘Hello’; 声明一个变量名为a,值为’ Hello’的字符串,字符串是文本,由双引号或单引号包围;
var b = 233; 声明一个变量名为a,值为233的数字;
2.运算符
1) 算数运算符
操作符 | 描述 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | var x=3+2; | x=5 |
- | 减法 | var x=3–2; | x=1 |
* | 乘法 | var x=3*2; | x=6 |
/ | 除法 | var x=3/2; | x=1.5 |
% | 求余 | var x=3%2; | x=1 |
++ | 自增 | var y=1; var x=++y; | x=1; y=2; |
var y=1; var x=y++; | x=2; y=2; | ||
-- | 自减 | var y=1; x=--y | x=1; y=0; |
var y=1; x=y-- | x=0; y=0; |
2) 用于字符串的 + 运算符
+ 运算符也用于把文本值或字符串变量加起来(连接起来)。
如需把两个或多个字符串变量连接起来,请使用 + 运算符,例:
var a = "Hello";
var b = "World";
var c = a + " " + b; c = "Hello World";
3) 比较运算符
当x=5,通过下面的表格解释了比较运算符:
运算符 | 描述 | 比较 | 返回值 |
---|---|---|---|
== | 等于 | x==8 | false |
x==5 | true | ||
=== | 绝对等于(值和类型均相等) | x==="5" | false |
x===5 | true | ||
!= | 不等于 | x!=8 | true |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) | x!=="5" | true |
x!==5 | false | ||
> | 大于 | x>8 | false |
< | 小于 | x<8 | true |
>= | 大于或等于 | x>=8 | false |
<= | 小于或等于 | x<=8 | true |
3.条件语句
通常在使用表达式时,您可能需要在不同情况下执行不同的动作。因此您可以在表达式中使用条件语句来完成该 任务。
我们可使用以下条件语句:
if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
示例 | 说明 |
---|---|
if ( x >= 60) { return "合格" } |
x大于或等于60则返回字符串"合格" |
if ( x >= 60) { return "合格" } else { return "不合格" } |
x大于或等于60则返回字符串"合格", 否则返回"不合格"字符串。 |
if ( x >= 90) { return "优秀" } else if (x >= 80 && x < 90) { return "良" } else if (x >= 60 && x < 80) { return "合格" } else { return "不合格" } |
x大于或等于90则返回字符串"优秀", x大于或等于80且小于90则返回字符串"良", x大于或等于60且小于80则返回字符串"合格", 否则返回"不合格"字符串。 该例子中,条件部分包含了多个组合条件,同时else if多重判断 |