+和 - 应该在Angular中具有不同的优先级?

bat*_*man 1 javascript angularjs

刚开始使用Angular,我有以下代码:

<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js"></script>
    <link rel="stylesheet" href="css/bootstrap.css">
  </head>
  <body ng-app>
    <p>This is your first angular expression {{1 +- 2}}</p>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在浏览器中运行此代码给我o/p:

This is your first angular expression -1
Run Code Online (Sandbox Code Playgroud)

怎么会-发生而不是+.实际上我在运行时期待错误,但事实并非如此.

即使表达式更改为:

{{1 -+ 2}}
Run Code Online (Sandbox Code Playgroud)

结果-1.

+-没有相同的优先权?

编辑:

鉴于表达式{{1 -% 2}}给我一个错误:

Error: Syntax Error: Token '2' is an unexpected token at column 6 of the expression [1 -% 2] starting at [2].
    at Error (<anonymous>)
    at throwError (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:5913:11)
    at parser (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:5907:5)
    at http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:6470:29
    at $interpolate (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:4807:27)
    at addTextInterpolateDirective (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:4436:27)
    at collectDirectives (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3933:11)
    at compileNodes (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3816:22)
    at compileNodes (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3824:15)
    at compileNodes (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3824:15) 
Run Code Online (Sandbox Code Playgroud)

这给我留下了一个问题,为何如何+--+正常工作.

Que*_*tin 5

这个:

1 +- 2
Run Code Online (Sandbox Code Playgroud)

是一加二负.哪个是负面的.它写得更好1 + -2.

这个:

1 -+ 2
Run Code Online (Sandbox Code Playgroud)

是一个减去转换2为数字(两个)的结果.这也是负面的.它写得更好1 - +2

这个

1 -% 2
Run Code Online (Sandbox Code Playgroud)

只是没有任何意义.