優先級 |
運算子 |
敘述 |
範例 |
1 |
() |
函式呼叫 |
var x = f() |
[] |
陣列存取 |
array[4] = 2 |
|
. |
以物件方式存取成員 |
obj.age = 34 |
|
2 |
+ |
一元正號 |
var i = +1 |
- |
一元負號 |
var i = -1 |
|
! | 邏輯非 | if !done … | |
~ | 位元取反 | var x = ~x | |
3 | ** | 次方 | var i = 2 ** 4 |
4 | * |
乘法 |
var i = 2 * 4 |
/ |
除法 |
var f = 10 / 3 |
|
// |
整數除法 |
var i = 2 // 4 |
|
% |
模數(取余) |
var rem = 4 % 3 |
|
%% |
整數模數(取余) |
var rem = 4 %% 3 |
|
5 | + |
加法 |
var i = 2 + 3 |
+ |
字串相連 |
var str = “foo” + ”bar” |
|
.. |
字串相連 |
var str = “foo” .. ”bar” |
|
- |
減法 |
var i = 5 - 1 |
|
6 | << |
位元左移 |
var flags = 33 << 1 |
>> |
位元右移 |
var flags = 33 >> 1 |
|
7 | < |
小於關係 |
if i < 42 … |
<= |
小於等於關係 |
if i <= 42 ... |
|
> |
大於關係 |
if i > 42 … |
|
>= |
大於等於關係 |
if i >= 42 ... |
|
8 | == |
等於關係 |
if i == 42 ... |
!= |
不等於關係 |
if i != 42 … |
|
<> | 不等於關係 | if i <> 42 … | |
>< | 不等於關係 | if i >< 42 … | |
9 | & |
位元 AND |
var flag1 = flag2 & 42 |
10 | ^ |
位元 XOR(獨占or) |
var flag1 = flag2 ^ 42 |
11 |
| |
位元 OR(包含or) |
var flag1 = flag2 | 42 |
12 |
&& |
邏輯 AND |
if conditionA && conditionB … |
13 |
|| |
邏輯 OR |
if conditionA || conditionB ... |
14 |
c?t:f |
三元條件運算 |
var i = a > b ? a : b |
15 |
= |
直接賦值 |
var a = b; |
16 |
, |
逗號運算子 |
for (i = 0, j = 0; i < 10; i=i+1, j=j+1) … |
保留字 |
說明 |
用法 |
call |
呼叫腳本檔 |
call foo.ash |
goto |
將控制項跳至標籤 |
goto tag |
true |
布林真值 |
if true |
false |
布林假值 |
if false |
begin |
建立區塊 | begin endbe |
endbe |
結束建立區塊 | begin endbe |
null |
空值 |
var i=null |
unvar |
變數反宣告(移除變數) |
unvar i |
var |
變數宣告 |
var i |
break |
跳出控制迴圈 |
while true break endwh |
while |
循環迴圈 |
while true endwh |
endwh |
結束循環迴圈 |
while true endwh |
if |
條件式迴圈 |
if true endif |
elseif |
否則如果循環迴圈 |
if true elseif true endif |
native |
建立native function |
native javaFunctionName(“java_package”) |
using |
引入函式庫檔案 |
using Stdio.ash |
endif |
結束循環迴圈 |
if true endif |
do |
後側式迴圈 |
do dwhile true |
dwhile |
結束後側式迴圈 |
do dwhile true |
continue |
結束當前,繼續執行 |
while true continue endwh |
function |
函數 |
function f() endfu |
endfu |
結束函數 |
function f() endfu |
return |
回傳 |
function f() return endfu |
this |
當前類別的記憶體位置 |
class c var v function r() return this.v endfu cndcl |
base |
最外層的變數空間 |
base.v |
super |
當前類別的父類別的記憶體位置 |
class c:c2 function c() super.c2() endfu cndcl |
class |
類別 |
class c endcl |
_inst_ |
建構子 |
class c function _inst_() endfu endcl |
endcl |
結束類別 |
class c endcl |
throw |
自訂例外 |
throw "Error" |
try |
例外處理 |
try catch e endtr |
catch |
例外捕捉 |
try catch e endtr |
finally |
try catch e finally endtr |
|
endtr |
結束例外處理 |
try catch e endtr |
static |
宣告靜態區間 |
class c static endst endcl |
endst |
結束靜態區塊宣告 |
class c static endst endcl |
addso |
新增函示庫路徑 |
addso System.getPath() .. "\\foo" |
addnph |
新增native function解析路徑 |
addnph System.getPath() .. "\\foo" |