公式字段 - 所有关于语法和运算符
表达式语法
解析器接受一个非常基本的语法。 运算符具有正常的预先确定性 - f(x,y,z)(函数调用),^(取幂),*,/和%(乘法,除法和余数),最后是+, - 和|| (加法,减法和字符串连接) - 并从左到右绑定(是的,甚至取幂......这样更简单)。
还有一个“,”(逗号)运算符将值连接到一个数组中。 它最常用于将参数传递给函数,因为它的行为并不像你想象的那样多维数组。 如果左侧值是数组,则将正确的值推送到数组的末尾,否则,它会创建一个新数组“[left,right]”。 这使得无法使用另一个数组创建一个数组,因为它是第一个元素。
在if函数的第一个参数内部可以使用这些运算符来比较表达式:
==
等于!=
不相等>
比...更棒>=
大于或等于<
小于<=
少于或等于and
逻辑AND运算符or
逻辑OR运算符
if函数示例: if(1 and 2 <= 4, 2, 0) + 2
= 4
功能操作员
解析器有几个内置的“函数”,实际上是运算符。 与外部观点的唯一区别是,它们不能使用多个参数调用,并且如果它们的参数是常量,则由简化方法评估它们。
sin(x)
x的正弦(x是弧度)cos(x)
x的余弦(x是弧度)tan(x)
x的正切(x是......好吧,你知道)asin(x)
x的正弦值(以弧度表示)acos(x)
x的弧余弦(以弧度表示)atan(x)
x的反正切(以弧度表示)sqrt(x)
x的平方根。 如果x为负,则结果为NaN(非数字)。log(x)
x的自然对数(不是base-10)。 这是日志而不是ln,因为这就是JavaScript所谓的。abs(x)
x的绝对值(magnatude)ceil(x)
x的上限-> = x的最小整数。floor(x)
x的下限-<= x的最大整数round(x, n))
X,使用“gradeschool rounding”舍入到最接近的整数或n个小数位。exp(x)
ex(基数为e的指数/反对数函数)random(n)
获取[0,n]范围内的随机数。 如果n为零或未提供,则默认为1。fac(n)
N! (n的阶乘:“n *(n-1)*(n-2)* ...... * 2 * 1”)min(a,b,…)
获取列表中最小(“最小”)的数字max(a,b,…)
获取列表中最大(“最大”)的数字pyt(a, b)
毕达哥拉斯函数,即“c2 = a2 + b2”中的cpow(x, y)
XY。 这与“x ^ y”完全相同。 它只是提供,因为它来自JavaScript的Math对象atan2(y, x)
x / y的反正切以弧度表示(0,0)和(x,y)之间的角度。if(c, a, b)
条件函数,其中c是条件,a是c为真时的结果,b是c为假的结果len(n)
nie len的字符长度(123)= 3- todayDate()以标准格式返回今天的日期。
- newDate(年,月,日)基于参数年,月,日的标准格式返回日期。
- dateFormat(date,format)以自定义格式或绝对日期格式(以毫秒为单位)返回日期。可以找到不同的格式: https://docs.angularjs.org/api/ng/filter/date.
- getTime(date)以绝对日期格式(以毫秒为单位)返回日期。
- dateAdd(date,type,value)将值添加到日期。 类型: https://docs.angularjs.org/api/ng/filter/date。 以绝对日期格式返回结果。 可以与dateFormat(dateAdd(日期,类型,值),'dd.MM.yyyy')一起使用。
- dateDeduct(日期,类型,值)将值取为日期。 类型: https://docs.angularjs.org/api/ng/filter/date。 以绝对日期格式返回结果。 可以与dateFormat(dateAdd(日期,类型,值),'dd.MM.yyyy')一起使用。
26.07.17