# 执行动态

当动态公式、动态样式、动态动作、动态验证设置中的条件满足时,或者动态脚本的触发列表里的字段变化时,动态就会执行。执行内容为动态公式、动态样式、动态动作、动态验证里配置的表达式,或者动态脚本中配置的代码块。

# 表达式

除了动态样式设置的第一个格子内容直接填写css外,在动态公式、动态动作、动态验证中填写的都是表达式,该表达式的语法和js非常类似,但只是js表达式语法的一个子集。该语法子集支持以下特性:

  • 支持的数学运算符包括 + - * / %
  • 支持的逻辑运算符包括 && || !
  • 支持的比较运算符 > >= < <= == !=
  • 支持常量,包括:字符串(以单引号括起来),数字(由0-9.组成),布尔值(true和false)
  • 支持变量,常见的变量如下:
    • 表单字段变量 如$fieldName
    • 表单内置变量 即以_VAR_开头的一系列内置变量,参见变量
    • 动态内置变量 为方便计算动态,内置了一些变量供使用,参见内置变量
  • 支持变量的属性,数组值以及变量中的函数值,其中数组下标可以用表达式计算,例如a={c:1,d:[1,2,3],e:function(){return true;}} 则$a.c==1 , $a.d[$c]==2 , $a.e()返回true
  • 支持函数调用,为方便表达式计算,内置了一些内置函数供调用,参见内置函数

# 代码块

在动态脚本中设置是代码块,内容是一段javascript代码,支持es5、es6语法,考虑到目前浏览器的兼容性请使用es5语法。

# 执行上下文

表达式和代码块的执行环境被称为执行上下文,在执行上下文中封装了表单字段的值和属性引用对象,可通过指定的语法使用,另外还可以使用内置变量内置函数,这在下面的章节会有详细论述。