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
