示例代码:
<!--[
// 数学运算:加、减、乘、除、乘方、求模、求负
var a = 10 + 2, b = 10 - 2, c = 10 * 2, d = 10 / 2, e = pow(10, 2), f = 10 % 2, g = -b;
// 复杂的数学运算
var h = 3 + 5 - 2 * 3 + (a + 6) * c / 2 + pow(2, 3) - d % 2;
// 比较运算:小于、小于等于、大于、大于等于、等于、不等于
var i = 2 < 1, j = 2 <= 3, k = b > c, l = c >=10, m = d == 0, n = f != 0;
// 逻辑运算:与、或、非
var o = true && a > 2, p = false || 1, q = !c;
// 位运算:按位与、按位或、按位非、按位异或、左移、右移、无符号右移
var r = 10 & 2, s = 5 | b, t = ~10, u = 10 ^ b, v = 10 << 1, w = 10 >> 1, x = -10 >>> 1;
// 字符串连接
var y = 'test' + 10 + "_value", z = merge('test', 10, "_value", "xxx", 'www');
// 三元条件表达式(两个例子)
var v1 = r1 ? p1 : p2, v2 = r1 == 0 ? p1 : p2;
// 三元条件表达式的二元true状态书写方式(两个例子) ,条件满足时返回指定值,否则返回条件值
var v3 = r1 ? p1, v4 = r1 == 0 ? p1;
// 三元条件表达式的二元false状态书写方式(两个例子),条件满足时返回条件值,否则返回指定值
var v5 = r1 ?: p2, v6 = r1 == 0 ?: p2;
]-->
注意事项:
1、支持数学运算、比较运算、逻辑运算、位运算、字符串连接,属性及方法调用也属于表达式范畴;
2、支持三元条件表达式书写方式,任何类型都可以作为条件(按变量定义里布尔值转换约定处理);
3、支持三元条件表达式简化版true、false状态的二元表达式书写方式;
4、表达式不能作为独立语句,需嵌入到如变量定义、赋值、作为分支条件、作为循环对象等内使用;