Appearance
表达式
概述
织信采用UEL
(统一表达式语言)语法的表达式,UEL在语法和语义上类似于JavaScript表达式。
特点
- 无需类型转换;转换通常是隐式的完成
- 双引号和单引号用法相同
object.property
与object['property']
的意义相同- 在
${}
之外的部分会按照字符串的形式返回
下面是统一表达式语言的一个简单的例子:
对象
javascript
let person = {
name: '张三',
age: 18
}
类型返回
表达式可以直接声明并返回变量
字符串拼接
织信中的表达式分为在客户端执行
和在服务器端执行
两种情况,在客户端执行时可以在表达式中使用+
可以将字符串和任意对象拼接为新的字符串。例如
注意
在服务器端执行时不支持使用+
字符串拼接
javascript
${'123'+'456'} //返回'579'
如果需要执行字符串拼接需要使用String.concat(s1,s2)
javascript
${String.concat('123','456')} //返回'123456'
运算符
INFO
- 运算: +(加法), - (减法), *(乘法), /(除法), %(取模)
- 逻辑: &&(并且), ||(或者), !(取反)
- 关系: ==(等于), !=(不等于), <(小于), >(大于) <=(小于等于), >=(大于等于)
- 空值: null(空值)
- 条件判断: A ? B : C. 返回 B or C, 如果A为true 返回B,否则返回C
保留关键字
保留关键字不能作为变量名
保留关键字
and
or
not
true
false
null
empty
div
mod
in
matches
eq
ne
lt
gt
le
ge
class
除0异常
在除法操作中,如果除数是0的话会抛出异常
运算示例
表达式 | 结果 |
---|---|
1 > (4/2) | false |
4.0 >= 3 | true |
100.0 == 100 | true |
(10*10) ne 100 | false |
4 > 3 | true |
1 + 2 > 2 - 1 | true |
1 < 2 && 2 > 1 | true |
1 < 2 | false |
2 > 1 | true |
'a' < 'b' | true |
1 + 2 | 3 |
1.2E4 + 1.4 | 12001.4 |
3 / 4 | 0.75 |
10 % 4 | 2 |
函数调用
织信提供了Math
Array
Date
Misc
String
User
Encode
Record
等对象来处理关于数学运算、数组、日期等方面的函数运算。函数调用过程如果发生异常,系统会回滚当前事务。以下是一个函数调用的示例
javascript
${Math.abs(-100)}//返回100