krpano表达式

krpano中的逻辑或数学表达式/条件的语法

表达式语法用于if检查、条件性循环(for, loop) 以及calc动作。它可以用于求出逻辑条件、计算数学表达式或串接字符串。

基本语法为:

a OPERATOR b
  • a或b可以是变量、数值或字符串。
  • OPERATOR可以是下面列出的运算符的一种。
  • 解析顺序取决于运算符,但等价的运算符的计算顺序由左至右。
  • 使用括号可自定义解析顺序 – 例如:
    (a OPERATOR b) OPERATOR (c OPERATOR d)


比较运算符:

== 即是等于 (非严格)
!= 即是不等于 (非严格)
<LT 即是小于 *
> 或 GT 即是大于 *
<= 或 LE 即是小于或等于 *
>= 或 GE 即是大于或等于 *
=== 即是等于 (严格)
!== 即是不等于 (严格)

逻辑运算符:

||OR 左侧 或 右侧的表达式需要为真 *
&& 或 AND 左侧 和 右侧的表达式都需要为真 *
! 非运算符 – 反转一个布尔值

三元运算符:

if ? then : else 三元运算符

括号运算符:

( ) 括号运算符

数学运算符:

+ 加 – 加数字或串接字符串
*
/
^ 乘方

二元运算符:

<< 或 LSHT 向左移位 *
>> 或 RSHT 向右移位 *
BOR 按位或运算
BAND 按位与运算

 

严格/ 非严格比较

当使用非严格比较时(当 strict模式设置为false时使用 ==!=),则会认为指定的数值是变量或字符串。也就是说如果出现一个存在指定名字的变量,则该变量的数值会在比较中使用。当该变量不存在时,则将指定的名字看作是字符串。
严格比较中,对字符串的比较必须明确地放在引号中进行。变量或是解析为其数值,如不存在则解析为null。


* 注意 – 因为xml语法限制,字符 <, >, & 可能是无法直接使用的(例如在xml属性中或是没有CDATA标签的xml元素中)。因此推荐使用替代语法。

发表评论