函数与引用
引用变量
在变量的属性框中,可以点击设置引用变量
,在弹出框中输入要引用的变量名称,即可完成引用。 引用了变量的组件值会随着被引用组件值的变化而同步变化。
普通函数
普通函数语法遵循JavaScript语法规则.
需要引用表单中的变量时使用GetV("元素名称")
即可表示对应组件名称的填写值.
有了组件的填写值,则可以进行任意的脚本运算,在最后的位置使用return
返回一个结果值,即可将值赋予目标组件. 如下:
let ss = GetV("元素A") + 5;
for(let i=0;i<10;i++){
ss = ss*ss;
}
return ss + " ~ " + GetV("元素B");
函数说明:括号中可以写复杂的if运算符 示例一:根据值动态翻译性别文本
let sex = GetV('性别');
if(sex== '1'){
return '男'
}else if(sex== '2'){
return '女'
}else{
return '未知'
}
sex包括1,2,空
例: 输入框A(名称为:输入框A)
的值是输入框B(名称为:输入框B)
的值加100. 则脚本如下:
TIP
这里需要注意,这个代码只有输入框类型为数字时,才可以取得理想的返回结果.当输入框类型为普通输入框时,则该函数进行的是字符拼接操作.
通用函数
当表单中存在大量重复定义的函数时,可以将重复部分编辑为通用函数,然后再普通函数中使用通用函数的方法名进行调用即可.
转换函数
获取输入值:
GetIn()
函数调试
支持的通用函数
数学
函数名称 | 说明 |
---|---|
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 减。 通常来说,复杂的算术表达式,从代码可读性和稳健角度,都推荐使用括号来强制指定优先级。
字符串插值
字符串拼接可以用加法,比如
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 的执行结果:
let a = 3;
let b = 1;
let c = a > b ? "a > b" : "a <= b";
return c;