Skip to content

函数与引用

引用变量

在变量的属性框中,可以点击设置引用变量,在弹出框中输入要引用的变量名称,即可完成引用。 引用了变量的组件值会随着被引用组件值的变化而同步变化。

普通函数

普通函数语法遵循JavaScript语法规则.

需要引用表单中的变量时使用GetV("元素名称")即可表示对应组件名称的填写值.

有了组件的填写值,则可以进行任意的脚本运算,在最后的位置使用return返回一个结果值,即可将值赋予目标组件. 如下:

js
let ss = GetV("元素A") + 5;
for(let i=0;i<10;i++){
    ss = ss*ss;
}
return ss  + " ~ " + GetV("元素B");

函数说明:括号中可以写复杂的if运算符 示例一:根据值动态翻译性别文本

js
let sex = GetV('性别');
if(sex== '1'){
    return '男'
}else if(sex== '2'){
    return '女'
}else{
    return '未知'
}

sex包括1,2,空

例: 输入框A(名称为:输入框A)的值是输入框B(名称为:输入框B)的值加100. 则脚本如下: Add Res

TIP

这里需要注意,这个代码只有输入框类型为数字时,才可以取得理想的返回结果.当输入框类型为普通输入框时,则该函数进行的是字符拼接操作.

通用函数

当表单中存在大量重复定义的函数时,可以将重复部分编辑为通用函数,然后再普通函数中使用通用函数的方法名进行调用即可.

转换函数

获取输入值:

js
GetIn()

函数调试

Add Res

支持的通用函数

数学

函数名称说明
math.abs(d)求 d 的绝对值
math.round(d)四舍五入
math.floor(d)向下取整
math.ceil(d)向上取整
math.sqrt(d)求 d 的平方根
math.pow(d1,d2)求 d1 的 d2 次方
math.log(d)求 d 的自然对数
math.log10(d)求 d 以 10 为底的对数
math.sin(d)正弦函数
math.cos(d)余弦函数
math.tan(d)正切函数
math.atan(d)反正切函数
math.acos(d)反余弦函数
math.asin(d)反正弦函数

字符串表达式

函数名称说明
date_to_string(date,format)将 Date 对象转化化特定格式的字符串
string_to_date(source,format)将特定格式的字符串转化为 Date 对象
string.contains(s1,s2)判断 s1 是否包含 s2,返回 Boolean
string.length(s)求字符串长度,返回 Long
string.startsWith(s1,s2)s1 是否以 s2 开始,返回 Boolean
string.endsWith(s1,s2)s1 是否以 s2 结尾,返回 Boolean
string.substring(begin,end)截取字符串,从 begin 到 end,如果忽略 end 的话,将从 begin 到结尾
string.indexOf(s)求 s2 在 string 中 的起始索引位置,如果不存在为-1
string.split(target,regex,limit)Java 里的 String.split 方法一致
string.join(seq,seperator)将集合 seq 里的元素以 seperator 为间隔 连接起来形成字符串
string.replaceAll(s,regex)Java 里的 String.replaceAll 方法

运算符

运算符之间的优先级如下:

单目运算符 - 取负数 *, / +,- 整个规则也跟 JavaScript 的运算符优先级保持一致。你可以通过括号来强制指定优先级,比如例子中的 a-(b-c)就是通过括号,强制先执行 b-c ,再后再被 a 减。 通常来说,复杂的算术表达式,从代码可读性和稳健角度,都推荐使用括号来强制指定优先级。

字符串插值

字符串拼接可以用加法,比如

js
let name = "aviator";
let s = "hello," + name;
let name = "aviator";
let a = 1;
let b = 2;
let s = `hello, ${name}, ${a} + ${b} = ${a + b}`;

字符串中 #{} 括起来的表达式都将在当前上下文里自动执行求值,然后插入到最终的结果字符串,上面的例子将输出:

hello, aviator, 1 + 2 = 3

逻辑运算符

大于 = 大于等于 < 小于 <= 小于等于 == 等于 != 不等于 布尔值可参于逻辑与、逻辑或、逻辑否等运算,假设 x和 y 的返回结果是布尔值:

x && y 表示并且的关系,x 为真,并且 y 为真的情况下,结果为 true,否则 false。

x || y 表示或者的关系, x 为真,或者 y 为真,结果就为 true,两者都为假值的时候结果为 false。

!x否定运算符,如果 x 为 true,则结果为 false,反之则为 true。 &&和 || 都支持短路规则,

如果 x为假值, x && y 直接返回 false, y 就不进行求值。

如果 x为真值, x || y 直接返回 true, y 也不进行求值。

三元运算符

布尔值可用于三元表达式和条件语句作为判断,决定执行哪个分支代码。这里先介绍下三元表达式 test ? stmt1: stmt2,当 test的执行结果为 true 的时候,执行 stmt1,反之则执行 stmt2,结果即为 stmt1或者 stmt2 的执行结果:

js
let a = 3;
let b = 1;
let c = a > b ? "a > b" : "a <= b";
return c;