项目 | AAuto | PHP | Javascript |
简介 | AAuto主要用于桌面软件快速开发语言,兼容动态类型、静态类型开发的混合型编程语言,AAuto可以生成数百KB的独立EXE,不依赖任何外部运行库.
|
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,常常搭配 Apache (web 服务器) 一起使用。PHP 语法非常类似于 Perl 和 C。 在Windows上可以使用 WAMPServer 等自动安装工具方便的创建运行环境,推荐开发工具 Zend Studio,phpDesinger7,Edit Plus,Notepad++ |
JavaScript 是因特网上最流行的客户端脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer、 Mozilla、Firefox、Netscape、和 Opera。JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies等
|
实现方式 | AAuto源码文件存储为 *.aau 格式的文本文件,也可以编译成二进制的 *.aau 文件,aau文件可以使用AAuto编写的EXE加载运行,也可以在快手中生成独立的EXE文件
|
PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 和 ?> 来开始和结束脚本块。例: | HTML 的 |
注释 | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。 在AAuto中多行注释的首尾星号数目可以有多个,并且首尾数目必须匹配,使用此特性,只要星号数目不一样,就可以在注释中包含其他多行注释 在AAuto中注释语句也可以用于赋值语句作为字符串使用.例如: var str = /*使用多行注释作为字符串换行总是被解释为'\r\n',也就是回车换行*/ | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
|
与PHP相同
|
变量 | 变量可以不声明直接使用, 使用赋值语句初始化变量。变量默认为当前名字空间成员变量。
变量分为三种: 1、全局变量 2、当前名字空间变量(也可以算是全局变量) 3、局部变是
AAuto的变量名也可以使用$符号, 但$是变量名的一部份
局部变量申明用var语句定义
使用self可表示当前名字空间,上面的语句等价于self.color = '#111'
在前面加上两点,则变量声明为全局变量, 例 ..color = "#111"
|
变量可以不声明直接使用,使用赋值语句初始化变量。函数内部变量默认为局部变量。
变量分为三种: 1、全局变量 2、局部变是
PHP 中的所有变量必须以 $ 符号开始。 $号是变量的修饰前缀,但不是变量名称的一部份
在PHP中函数内部变量默认为局部变量(这与AAuto,Javascript正好相反),使用 global 语句引入或声明全局变量.
例:
//用global关键字定义全局变量 global $g;
|
变量可以不声明直接使用,使用赋值语句初始化变量。 变量默认为全局变量。
变量分为三种: 1、全局变量 2、局部变是
Javascript的变量名也可以使用$符号,但$是变量名的一部份,例如在jQuery中$就是jQuery的别名.
局部变量申明用var语句定义 例:var sqlstr;
若不使用var,则此变量申明为全局变量。 例:color='#111';
|
全局表 | global 对象 |
$GLOBALS 对象 |
window 对象 |
定义常量 | 变量名首字符是下划线表示成员常题 变量名首字符是下划线并大写表示全局常量 变量前面加上::修饰符表示全局常量 常量值赋于任何非null值以后即不可修改为其他不同的值 |
使用 const与define 定义常量, 1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。 2、define不能在类中定义而const可以。 3、const不能在条件语句中定义常量 4、const采用一个普通的常量名称,define可以采用表达式作为名称。 5、const的值只能接受静态的标量,而define可以采用任何表达式。 6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量。 例: define('≈PI', M_PI); |
不支持定义常量( 字面常量除外 ) |
成员操作符 | 对象.成员 | 对象->成员 | 对象.成员 |
定义类 | //AAuto代码: //创建类实例对象 |
//PHP代码
class Cart{ //创建类对象实例 |
//Javascript代码 JS用new关键字来创建对象实例
obj = new 函数名或对象名 obj = new 函数名(构造参数)
|
语句 | io.print("hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
尾部的分号不能省略,函数调用的括号可以省略. |
document.write("Hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
数组定义 | 有两种数组
在AAuto中只有一种数据结构,即表(table),表可以包含顺序数组,也可以包含稀疏数组,关联数组等 AAuto使用分号分隔成员,并使用等号分隔键值对 . |
有两种数组类型:
PHP使用逗号分隔成员,并使用=> 分隔键值对 |
有两种数组
数组成员也可数组,构成多维数组。
在javascript还可以使用大括号定义对象,
定义一个Javascript 对象: |
数组元素数量 | 取数组使用 #操作符 array = table.array( 10 ) 数组长度 = #array; 使用 table.range(array ) 则可返回数组的最小,最大索引. |
count() 函数计算数组中的单元数目或对象中的属性个数。 对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。语法: count(array,mode) |
length 属性可设置或返回数组中元素的数目。 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。语法:arrayObject.length |
数组 尾部追加成员 |
array = {} table.push( array,"追加成员" ) //返回数组长度 |
$names = array("Peter","Joe"); names[] = "Quagmire"; //也可以这样写 array_push($names, "apple", "apple2"); |
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7 |
数组尾部弹出成员 | table.pop( 数组对象,弹出个数)
用于删除并返回数组的指定个数元素,如果个数为负数表示弹出元素反向排列。
如果省略第二个参数,则与PHP,Javascript用法一样,弹出最后一个元素。 |
arrayObject.pop()
用于删除并返回数组的最后一个元素 |
array_pop(数组对象)
弹出并返回 array 数组的最后一个成员 |
截取数组 | table.slice( 数组对象,开始位置,结束位置)
返回截取数组 |
array_slice ( 数组对象, 开始位置,长度)
返回截取数组,注意第二个参数是指定长度,而不是结束位置 |
数组对象.slice(开始位置,结束位置)
返回截取数组 |
定义函数 | function 函数名(参数){ return 返回值,返回值2 } AAuto函数可以返回多个值 |
function 函数名(参数){ return 返回值 } |
function 函数名(参数){ return 返回值 } |
定义字符串 | 字符串可以放入单引号或双引号, 在双引号中不支持转义符,在单引号中可使用转义符.例: str = "abcd" str = 'abcd\t' AAuto中字符串可以直接换行,双引号将换行解释为'\n',而单引号忽略所有换行 |
字符串可以放入单引号或双引号 $str = "abcd\t" $str = 'abcd'
双引号中支持转义符,但单引号不支持,与AAuto正好相反.这也意味着,单引号速度比双引号解析字符串的速度更快 |
字符串可以放入单引号或双引号,都支持转义符 |
字符串连接 | 使用两个加号连接 var str = "字符串" ++ "字符串" 连接字符串字面量时也可以省略为一个加号,例: var str = "字符串" + "字符串" |
使用一个圆点连接 $str = "字符串"."字符串" |
使用加号连接 var str = "字符串" + "字符串" |
字符串分割 | 用法示例: var 数组 = string.split("a,b,c,d",",") |
explode– 将字符串分割到数组中 array explode ( string pattern, string string [, int limit]) |
split() 方法用于把一个字符串分割成字符串数组。 stringObject.split(separator,howmany) |
返回部分字符串 |
var str = string.sub("12345",2,5) |
substr() 函数返回字符串的一部分。
语法:
substr(string,start,length) |
substr() 方法可在字符串中抽取 从 start 下标开始的指定数目的字符。
语法: stringObject.substr(start,length) |
模式匹配 | AAuto使用一种快速轻量的模式匹配语法,基本语法基本类似正则表达式,但是速度更快,使用更简单,并且所有AAuto函数默认支持 另外通过标准库 string.regex 也可以支持正则表达式. |
支持正则表达式 | 支持正则表达式 |
数学函数 | 所有数学函数都在math名字空间 io.open() //下取整 io.print( math.floor(5.1) ) |
floor() 函数向下舍入为最接近的整数。 语法: floor(x)返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。实例: | floor() 方法可对一个数进行下舍入。 语法: Math.floor(x)floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。实例: |
数学函数 | 语法:math.round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。 | round() 函数对浮点数进行四舍五入。 语法:round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。实例: | round() 方法可把一个数字舍入为最接近的整数。 语法:Math.round(x)与 x 最接近的整数。实例: |
项目 | AAuto | PHP | Javascript |
简介 | AAuto主要用于桌面软件快速开发语言,兼容动态类型、静态类型开发的混合型编程语言,AAuto可以生成数百KB的独立EXE,不依赖任何外部运行库.
|
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,常常搭配 Apache (web 服务器) 一起使用。PHP 语法非常类似于 Perl 和 C。 在Windows上可以使用 WAMPServer 等自动安装工具方便的创建运行环境,推荐开发工具 Zend Studio,phpDesinger7,Edit Plus,Notepad++ |
JavaScript 是因特网上最流行的客户端脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer、 Mozilla、Firefox、Netscape、和 Opera。JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies等
|
实现方式 | AAuto源码文件存储为 *.aau 格式的文本文件,也可以编译成二进制的 *.aau 文件,aau文件可以使用AAuto编写的EXE加载运行,也可以在快手中生成独立的EXE文件
|
PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 和 ?> 来开始和结束脚本块。例: | HTML 的 |
注释 | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。 在AAuto中多行注释的首尾星号数目可以有多个,并且首尾数目必须匹配,使用此特性,只要星号数目不一样,就可以在注释中包含其他多行注释 在AAuto中注释语句也可以用于赋值语句作为字符串使用.例如: var str = /*使用多行注释作为字符串换行总是被解释为'\r\n',也就是回车换行*/ | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
|
与PHP相同
|
变量 | 变量可以不声明直接使用, 使用赋值语句初始化变量。变量默认为当前名字空间成员变量。
变量分为三种: 1、全局变量 2、当前名字空间变量(也可以算是全局变量) 3、局部变是
AAuto的变量名也可以使用$符号, 但$是变量名的一部份
局部变量申明用var语句定义
使用self可表示当前名字空间,上面的语句等价于self.color = '#111'
在前面加上两点,则变量声明为全局变量, 例 ..color = "#111"
|
变量可以不声明直接使用,使用赋值语句初始化变量。函数内部变量默认为局部变量。
变量分为三种: 1、全局变量 2、局部变是
PHP 中的所有变量必须以 $ 符号开始。 $号是变量的修饰前缀,但不是变量名称的一部份
在PHP中函数内部变量默认为局部变量(这与AAuto,Javascript正好相反),使用 global 语句引入或声明全局变量.
例:
//用global关键字定义全局变量 global $g;
|
变量可以不声明直接使用,使用赋值语句初始化变量。 变量默认为全局变量。
变量分为三种: 1、全局变量 2、局部变是
Javascript的变量名也可以使用$符号,但$是变量名的一部份,例如在jQuery中$就是jQuery的别名.
局部变量申明用var语句定义 例:var sqlstr;
若不使用var,则此变量申明为全局变量。 例:color='#111';
|
全局表 | global 对象 |
$GLOBALS 对象 |
window 对象 |
定义常量 | 变量名首字符是下划线表示成员常题 变量名首字符是下划线并大写表示全局常量 变量前面加上::修饰符表示全局常量 常量值赋于任何非null值以后即不可修改为其他不同的值 |
使用 const与define 定义常量, 1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。 2、define不能在类中定义而const可以。 3、const不能在条件语句中定义常量 4、const采用一个普通的常量名称,define可以采用表达式作为名称。 5、const的值只能接受静态的标量,而define可以采用任何表达式。 6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量。 例: define('≈PI', M_PI); |
不支持定义常量( 字面常量除外 ) |
成员操作符 | 对象.成员 | 对象->成员 | 对象.成员 |
定义类 | //AAuto代码: //创建类实例对象 |
//PHP代码
class Cart{ //创建类对象实例 |
//Javascript代码 JS用new关键字来创建对象实例
obj = new 函数名或对象名 obj = new 函数名(构造参数)
|
语句 | io.print("hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
尾部的分号不能省略,函数调用的括号可以省略. |
document.write("Hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
数组定义 | 有两种数组
在AAuto中只有一种数据结构,即表(table),表可以包含顺序数组,也可以包含稀疏数组,关联数组等 AAuto使用分号分隔成员,并使用等号分隔键值对 . |
有两种数组类型:
PHP使用逗号分隔成员,并使用=> 分隔键值对 |
有两种数组
数组成员也可数组,构成多维数组。
在javascript还可以使用大括号定义对象,
定义一个Javascript 对象: |
数组元素数量 | 取数组使用 #操作符 array = table.array( 10 ) 数组长度 = #array; 使用 table.range(array ) 则可返回数组的最小,最大索引. |
count() 函数计算数组中的单元数目或对象中的属性个数。 对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。语法: count(array,mode) |
length 属性可设置或返回数组中元素的数目。 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。语法:arrayObject.length |
数组 尾部追加成员 |
array = {} table.push( array,"追加成员" ) //返回数组长度 |
$names = array("Peter","Joe"); names[] = "Quagmire"; //也可以这样写 array_push($names, "apple", "apple2"); |
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7 |
数组尾部弹出成员 | table.pop( 数组对象,弹出个数)
用于删除并返回数组的指定个数元素,如果个数为负数表示弹出元素反向排列。
如果省略第二个参数,则与PHP,Javascript用法一样,弹出最后一个元素。 |
arrayObject.pop()
用于删除并返回数组的最后一个元素 |
array_pop(数组对象)
弹出并返回 array 数组的最后一个成员 |
截取数组 | table.slice( 数组对象,开始位置,结束位置)
返回截取数组 |
array_slice ( 数组对象, 开始位置,长度)
返回截取数组,注意第二个参数是指定长度,而不是结束位置 |
数组对象.slice(开始位置,结束位置)
返回截取数组 |
定义函数 | function 函数名(参数){ return 返回值,返回值2 } AAuto函数可以返回多个值 |
function 函数名(参数){ return 返回值 } |
function 函数名(参数){ return 返回值 } |
定义字符串 | 字符串可以放入单引号或双引号, 在双引号中不支持转义符,在单引号中可使用转义符.例: str = "abcd" str = 'abcd\t' AAuto中字符串可以直接换行,双引号将换行解释为'\n',而单引号忽略所有换行 |
字符串可以放入单引号或双引号 $str = "abcd\t" $str = 'abcd'
双引号中支持转义符,但单引号不支持,与AAuto正好相反.这也意味着,单引号速度比双引号解析字符串的速度更快 |
字符串可以放入单引号或双引号,都支持转义符 |
字符串连接 | 使用两个加号连接 var str = "字符串" ++ "字符串" 连接字符串字面量时也可以省略为一个加号,例: var str = "字符串" + "字符串" |
使用一个圆点连接 $str = "字符串"."字符串" |
使用加号连接 var str = "字符串" + "字符串" |
字符串分割 | 用法示例: var 数组 = string.split("a,b,c,d",",") |
explode– 将字符串分割到数组中 array explode ( string pattern, string string [, int limit]) |
split() 方法用于把一个字符串分割成字符串数组。 stringObject.split(separator,howmany) |
返回部分字符串 |
var str = string.sub("12345",2,5) |
substr() 函数返回字符串的一部分。
语法:
substr(string,start,length) |
substr() 方法可在字符串中抽取 从 start 下标开始的指定数目的字符。
语法: stringObject.substr(start,length) |
模式匹配 | AAuto使用一种快速轻量的模式匹配语法,基本语法基本类似正则表达式,但是速度更快,使用更简单,并且所有AAuto函数默认支持 另外通过标准库 string.regex 也可以支持正则表达式. |
支持正则表达式 | 支持正则表达式 |
数学函数 | 所有数学函数都在math名字空间 io.open() //下取整 io.print( math.floor(5.1) ) |
floor() 函数向下舍入为最接近的整数。 语法: floor(x)返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。实例: | floor() 方法可对一个数进行下舍入。 语法: Math.floor(x)floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。实例: |
数学函数 | 语法:math.round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。 | round() 函数对浮点数进行四舍五入。 语法:round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。实例: | round() 方法可把一个数字舍入为最接近的整数。 语法:Math.round(x)与 x 最接近的整数。实例: |
项目 | AAuto | PHP | Javascript |
简介 | AAuto主要用于桌面软件快速开发语言,兼容动态类型、静态类型开发的混合型编程语言,AAuto可以生成数百KB的独立EXE,不依赖任何外部运行库.
|
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,常常搭配 Apache (web 服务器) 一起使用。PHP 语法非常类似于 Perl 和 C。 在Windows上可以使用 WAMPServer 等自动安装工具方便的创建运行环境,推荐开发工具 Zend Studio,phpDesinger7,Edit Plus,Notepad++ |
JavaScript 是因特网上最流行的客户端脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer、 Mozilla、Firefox、Netscape、和 Opera。JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies等
|
实现方式 | AAuto源码文件存储为 *.aau 格式的文本文件,也可以编译成二进制的 *.aau 文件,aau文件可以使用AAuto编写的EXE加载运行,也可以在快手中生成独立的EXE文件
|
PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 和 ?> 来开始和结束脚本块。例: | HTML 的 |
注释 | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。 在AAuto中多行注释的首尾星号数目可以有多个,并且首尾数目必须匹配,使用此特性,只要星号数目不一样,就可以在注释中包含其他多行注释 在AAuto中注释语句也可以用于赋值语句作为字符串使用.例如: var str = /*使用多行注释作为字符串换行总是被解释为'\r\n',也就是回车换行*/ | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
|
与PHP相同
|
变量 | 变量可以不声明直接使用, 使用赋值语句初始化变量。变量默认为当前名字空间成员变量。
变量分为三种: 1、全局变量 2、当前名字空间变量(也可以算是全局变量) 3、局部变是
AAuto的变量名也可以使用$符号, 但$是变量名的一部份
局部变量申明用var语句定义
使用self可表示当前名字空间,上面的语句等价于self.color = '#111'
在前面加上两点,则变量声明为全局变量, 例 ..color = "#111"
|
变量可以不声明直接使用,使用赋值语句初始化变量。函数内部变量默认为局部变量。
变量分为三种: 1、全局变量 2、局部变是
PHP 中的所有变量必须以 $ 符号开始。 $号是变量的修饰前缀,但不是变量名称的一部份
在PHP中函数内部变量默认为局部变量(这与AAuto,Javascript正好相反),使用 global 语句引入或声明全局变量.
例:
//用global关键字定义全局变量 global $g;
|
变量可以不声明直接使用,使用赋值语句初始化变量。 变量默认为全局变量。
变量分为三种: 1、全局变量 2、局部变是
Javascript的变量名也可以使用$符号,但$是变量名的一部份,例如在jQuery中$就是jQuery的别名.
局部变量申明用var语句定义 例:var sqlstr;
若不使用var,则此变量申明为全局变量。 例:color='#111';
|
全局表 | global 对象 |
$GLOBALS 对象 |
window 对象 |
定义常量 | 变量名首字符是下划线表示成员常题 变量名首字符是下划线并大写表示全局常量 变量前面加上::修饰符表示全局常量 常量值赋于任何非null值以后即不可修改为其他不同的值 |
使用 const与define 定义常量, 1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。 2、define不能在类中定义而const可以。 3、const不能在条件语句中定义常量 4、const采用一个普通的常量名称,define可以采用表达式作为名称。 5、const的值只能接受静态的标量,而define可以采用任何表达式。 6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量。 例: define('≈PI', M_PI); |
不支持定义常量( 字面常量除外 ) |
成员操作符 | 对象.成员 | 对象->成员 | 对象.成员 |
定义类 | //AAuto代码: //创建类实例对象 |
//PHP代码
class Cart{ //创建类对象实例 |
//Javascript代码 JS用new关键字来创建对象实例
obj = new 函数名或对象名 obj = new 函数名(构造参数)
|
语句 | io.print("hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
尾部的分号不能省略,函数调用的括号可以省略. |
document.write("Hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
数组定义 | 有两种数组
在AAuto中只有一种数据结构,即表(table),表可以包含顺序数组,也可以包含稀疏数组,关联数组等 AAuto使用分号分隔成员,并使用等号分隔键值对 . |
有两种数组类型:
PHP使用逗号分隔成员,并使用=> 分隔键值对 |
有两种数组
数组成员也可数组,构成多维数组。
在javascript还可以使用大括号定义对象,
定义一个Javascript 对象: |
数组元素数量 | 取数组使用 #操作符 array = table.array( 10 ) 数组长度 = #array; 使用 table.range(array ) 则可返回数组的最小,最大索引. |
count() 函数计算数组中的单元数目或对象中的属性个数。 对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。语法: count(array,mode) |
length 属性可设置或返回数组中元素的数目。 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。语法:arrayObject.length |
数组 尾部追加成员 |
array = {} table.push( array,"追加成员" ) //返回数组长度 |
$names = array("Peter","Joe"); names[] = "Quagmire"; //也可以这样写 array_push($names, "apple", "apple2"); |
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7 |
数组尾部弹出成员 | table.pop( 数组对象,弹出个数)
用于删除并返回数组的指定个数元素,如果个数为负数表示弹出元素反向排列。
如果省略第二个参数,则与PHP,Javascript用法一样,弹出最后一个元素。 |
arrayObject.pop()
用于删除并返回数组的最后一个元素 |
array_pop(数组对象)
弹出并返回 array 数组的最后一个成员 |
截取数组 | table.slice( 数组对象,开始位置,结束位置)
返回截取数组 |
array_slice ( 数组对象, 开始位置,长度)
返回截取数组,注意第二个参数是指定长度,而不是结束位置 |
数组对象.slice(开始位置,结束位置)
返回截取数组 |
定义函数 | function 函数名(参数){ return 返回值,返回值2 } AAuto函数可以返回多个值 |
function 函数名(参数){ return 返回值 } |
function 函数名(参数){ return 返回值 } |
定义字符串 | 字符串可以放入单引号或双引号, 在双引号中不支持转义符,在单引号中可使用转义符.例: str = "abcd" str = 'abcd\t' AAuto中字符串可以直接换行,双引号将换行解释为'\n',而单引号忽略所有换行 |
字符串可以放入单引号或双引号 $str = "abcd\t" $str = 'abcd'
双引号中支持转义符,但单引号不支持,与AAuto正好相反.这也意味着,单引号速度比双引号解析字符串的速度更快 |
字符串可以放入单引号或双引号,都支持转义符 |
字符串连接 | 使用两个加号连接 var str = "字符串" ++ "字符串" 连接字符串字面量时也可以省略为一个加号,例: var str = "字符串" + "字符串" |
使用一个圆点连接 $str = "字符串"."字符串" |
使用加号连接 var str = "字符串" + "字符串" |
字符串分割 | 用法示例: var 数组 = string.split("a,b,c,d",",") |
explode– 将字符串分割到数组中 array explode ( string pattern, string string [, int limit]) |
split() 方法用于把一个字符串分割成字符串数组。 stringObject.split(separator,howmany) |
返回部分字符串 |
var str = string.sub("12345",2,5) |
substr() 函数返回字符串的一部分。
语法:
substr(string,start,length) |
substr() 方法可在字符串中抽取 从 start 下标开始的指定数目的字符。
语法: stringObject.substr(start,length) |
模式匹配 | AAuto使用一种快速轻量的模式匹配语法,基本语法基本类似正则表达式,但是速度更快,使用更简单,并且所有AAuto函数默认支持 另外通过标准库 string.regex 也可以支持正则表达式. |
支持正则表达式 | 支持正则表达式 |
数学函数 | 所有数学函数都在math名字空间 io.open() //下取整 io.print( math.floor(5.1) ) |
floor() 函数向下舍入为最接近的整数。 语法: floor(x)返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。实例: | floor() 方法可对一个数进行下舍入。 语法: Math.floor(x)floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。实例: |
数学函数 | 语法:math.round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。 | round() 函数对浮点数进行四舍五入。 语法:round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。实例: | round() 方法可把一个数字舍入为最接近的整数。 语法:Math.round(x)与 x 最接近的整数。实例: |
项目 | AAuto | PHP | Javascript |
简介 | AAuto主要用于桌面软件快速开发语言,兼容动态类型、静态类型开发的混合型编程语言,AAuto可以生成数百KB的独立EXE,不依赖任何外部运行库.
|
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,常常搭配 Apache (web 服务器) 一起使用。PHP 语法非常类似于 Perl 和 C。 在Windows上可以使用 WAMPServer 等自动安装工具方便的创建运行环境,推荐开发工具 Zend Studio,phpDesinger7,Edit Plus,Notepad++ |
JavaScript 是因特网上最流行的客户端脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer、 Mozilla、Firefox、Netscape、和 Opera。JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies等
|
实现方式 | AAuto源码文件存储为 *.aau 格式的文本文件,也可以编译成二进制的 *.aau 文件,aau文件可以使用AAuto编写的EXE加载运行,也可以在快手中生成独立的EXE文件
|
PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 和 ?> 来开始和结束脚本块。例: | HTML 的 |
注释 | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。 在AAuto中多行注释的首尾星号数目可以有多个,并且首尾数目必须匹配,使用此特性,只要星号数目不一样,就可以在注释中包含其他多行注释 在AAuto中注释语句也可以用于赋值语句作为字符串使用.例如: var str = /*使用多行注释作为字符串换行总是被解释为'\r\n',也就是回车换行*/ | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
|
与PHP相同
|
变量 | 变量可以不声明直接使用, 使用赋值语句初始化变量。变量默认为当前名字空间成员变量。
变量分为三种: 1、全局变量 2、当前名字空间变量(也可以算是全局变量) 3、局部变是
AAuto的变量名也可以使用$符号, 但$是变量名的一部份
局部变量申明用var语句定义
使用self可表示当前名字空间,上面的语句等价于self.color = '#111'
在前面加上两点,则变量声明为全局变量, 例 ..color = "#111"
|
变量可以不声明直接使用,使用赋值语句初始化变量。函数内部变量默认为局部变量。
变量分为三种: 1、全局变量 2、局部变是
PHP 中的所有变量必须以 $ 符号开始。 $号是变量的修饰前缀,但不是变量名称的一部份
在PHP中函数内部变量默认为局部变量(这与AAuto,Javascript正好相反),使用 global 语句引入或声明全局变量.
例:
//用global关键字定义全局变量 global $g;
|
变量可以不声明直接使用,使用赋值语句初始化变量。 变量默认为全局变量。
变量分为三种: 1、全局变量 2、局部变是
Javascript的变量名也可以使用$符号,但$是变量名的一部份,例如在jQuery中$就是jQuery的别名.
局部变量申明用var语句定义 例:var sqlstr;
若不使用var,则此变量申明为全局变量。 例:color='#111';
|
全局表 | global 对象 |
$GLOBALS 对象 |
window 对象 |
定义常量 | 变量名首字符是下划线表示成员常题 变量名首字符是下划线并大写表示全局常量 变量前面加上::修饰符表示全局常量 常量值赋于任何非null值以后即不可修改为其他不同的值 |
使用 const与define 定义常量, 1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。 2、define不能在类中定义而const可以。 3、const不能在条件语句中定义常量 4、const采用一个普通的常量名称,define可以采用表达式作为名称。 5、const的值只能接受静态的标量,而define可以采用任何表达式。 6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量。 例: define('≈PI', M_PI); |
不支持定义常量( 字面常量除外 ) |
成员操作符 | 对象.成员 | 对象->成员 | 对象.成员 |
定义类 | //AAuto代码: //创建类实例对象 |
//PHP代码
class Cart{ //创建类对象实例 |
//Javascript代码 JS用new关键字来创建对象实例
obj = new 函数名或对象名 obj = new 函数名(构造参数)
|
语句 | io.print("hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
尾部的分号不能省略,函数调用的括号可以省略. |
document.write("Hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
数组定义 | 有两种数组
在AAuto中只有一种数据结构,即表(table),表可以包含顺序数组,也可以包含稀疏数组,关联数组等 AAuto使用分号分隔成员,并使用等号分隔键值对 . |
有两种数组类型:
PHP使用逗号分隔成员,并使用=> 分隔键值对 |
有两种数组
数组成员也可数组,构成多维数组。
在javascript还可以使用大括号定义对象,
定义一个Javascript 对象: |
数组元素数量 | 取数组使用 #操作符 array = table.array( 10 ) 数组长度 = #array; 使用 table.range(array ) 则可返回数组的最小,最大索引. |
count() 函数计算数组中的单元数目或对象中的属性个数。 对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。语法: count(array,mode) |
length 属性可设置或返回数组中元素的数目。 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。语法:arrayObject.length |
数组 尾部追加成员 |
array = {} table.push( array,"追加成员" ) //返回数组长度 |
$names = array("Peter","Joe"); names[] = "Quagmire"; //也可以这样写 array_push($names, "apple", "apple2"); |
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7 |
数组尾部弹出成员 | table.pop( 数组对象,弹出个数)
用于删除并返回数组的指定个数元素,如果个数为负数表示弹出元素反向排列。
如果省略第二个参数,则与PHP,Javascript用法一样,弹出最后一个元素。 |
arrayObject.pop()
用于删除并返回数组的最后一个元素 |
array_pop(数组对象)
弹出并返回 array 数组的最后一个成员 |
截取数组 | table.slice( 数组对象,开始位置,结束位置)
返回截取数组 |
array_slice ( 数组对象, 开始位置,长度)
返回截取数组,注意第二个参数是指定长度,而不是结束位置 |
数组对象.slice(开始位置,结束位置)
返回截取数组 |
定义函数 | function 函数名(参数){ return 返回值,返回值2 } AAuto函数可以返回多个值 |
function 函数名(参数){ return 返回值 } |
function 函数名(参数){ return 返回值 } |
定义字符串 | 字符串可以放入单引号或双引号, 在双引号中不支持转义符,在单引号中可使用转义符.例: str = "abcd" str = 'abcd\t' AAuto中字符串可以直接换行,双引号将换行解释为'\n',而单引号忽略所有换行 |
字符串可以放入单引号或双引号 $str = "abcd\t" $str = 'abcd'
双引号中支持转义符,但单引号不支持,与AAuto正好相反.这也意味着,单引号速度比双引号解析字符串的速度更快 |
字符串可以放入单引号或双引号,都支持转义符 |
字符串连接 | 使用两个加号连接 var str = "字符串" ++ "字符串" 连接字符串字面量时也可以省略为一个加号,例: var str = "字符串" + "字符串" |
使用一个圆点连接 $str = "字符串"."字符串" |
使用加号连接 var str = "字符串" + "字符串" |
字符串分割 | 用法示例: var 数组 = string.split("a,b,c,d",",") |
explode– 将字符串分割到数组中 array explode ( string pattern, string string [, int limit]) |
split() 方法用于把一个字符串分割成字符串数组。 stringObject.split(separator,howmany) |
返回部分字符串 |
var str = string.sub("12345",2,5) |
substr() 函数返回字符串的一部分。
语法:
substr(string,start,length) |
substr() 方法可在字符串中抽取 从 start 下标开始的指定数目的字符。
语法: stringObject.substr(start,length) |
模式匹配 | AAuto使用一种快速轻量的模式匹配语法,基本语法基本类似正则表达式,但是速度更快,使用更简单,并且所有AAuto函数默认支持 另外通过标准库 string.regex 也可以支持正则表达式. |
支持正则表达式 | 支持正则表达式 |
数学函数 | 所有数学函数都在math名字空间 io.open() //下取整 io.print( math.floor(5.1) ) |
floor() 函数向下舍入为最接近的整数。 语法: floor(x)返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。实例: | floor() 方法可对一个数进行下舍入。 语法: Math.floor(x)floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。实例: |
数学函数 | 语法:math.round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。 | round() 函数对浮点数进行四舍五入。 语法:round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。实例: | round() 方法可把一个数字舍入为最接近的整数。 语法:Math.round(x)与 x 最接近的整数。实例: |
项目 | AAuto | PHP | Javascript |
简介 | AAuto主要用于桌面软件快速开发语言,兼容动态类型、静态类型开发的混合型编程语言,AAuto可以生成数百KB的独立EXE,不依赖任何外部运行库.
|
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,常常搭配 Apache (web 服务器) 一起使用。PHP 语法非常类似于 Perl 和 C。 在Windows上可以使用 WAMPServer 等自动安装工具方便的创建运行环境,推荐开发工具 Zend Studio,phpDesinger7,Edit Plus,Notepad++ |
JavaScript 是因特网上最流行的客户端脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer、 Mozilla、Firefox、Netscape、和 Opera。JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies等
|
实现方式 | AAuto源码文件存储为 *.aau 格式的文本文件,也可以编译成二进制的 *.aau 文件,aau文件可以使用AAuto编写的EXE加载运行,也可以在快手中生成独立的EXE文件
|
PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 和 ?> 来开始和结束脚本块。例: | HTML 的 |
注释 | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。 在AAuto中多行注释的首尾星号数目可以有多个,并且首尾数目必须匹配,使用此特性,只要星号数目不一样,就可以在注释中包含其他多行注释 在AAuto中注释语句也可以用于赋值语句作为字符串使用.例如: var str = /*使用多行注释作为字符串换行总是被解释为'\r\n',也就是回车换行*/ | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
|
与PHP相同
|
变量 | 变量可以不声明直接使用, 使用赋值语句初始化变量。变量默认为当前名字空间成员变量。
变量分为三种: 1、全局变量 2、当前名字空间变量(也可以算是全局变量) 3、局部变是
AAuto的变量名也可以使用$符号, 但$是变量名的一部份
局部变量申明用var语句定义
使用self可表示当前名字空间,上面的语句等价于self.color = '#111'
在前面加上两点,则变量声明为全局变量, 例 ..color = "#111"
|
变量可以不声明直接使用,使用赋值语句初始化变量。函数内部变量默认为局部变量。
变量分为三种: 1、全局变量 2、局部变是
PHP 中的所有变量必须以 $ 符号开始。 $号是变量的修饰前缀,但不是变量名称的一部份
在PHP中函数内部变量默认为局部变量(这与AAuto,Javascript正好相反),使用 global 语句引入或声明全局变量.
例:
//用global关键字定义全局变量 global $g;
|
变量可以不声明直接使用,使用赋值语句初始化变量。 变量默认为全局变量。
变量分为三种: 1、全局变量 2、局部变是
Javascript的变量名也可以使用$符号,但$是变量名的一部份,例如在jQuery中$就是jQuery的别名.
局部变量申明用var语句定义 例:var sqlstr;
若不使用var,则此变量申明为全局变量。 例:color='#111';
|
全局表 | global 对象 |
$GLOBALS 对象 |
window 对象 |
定义常量 | 变量名首字符是下划线表示成员常题 变量名首字符是下划线并大写表示全局常量 变量前面加上::修饰符表示全局常量 常量值赋于任何非null值以后即不可修改为其他不同的值 |
使用 const与define 定义常量, 1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。 2、define不能在类中定义而const可以。 3、const不能在条件语句中定义常量 4、const采用一个普通的常量名称,define可以采用表达式作为名称。 5、const的值只能接受静态的标量,而define可以采用任何表达式。 6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量。 例: define('≈PI', M_PI); |
不支持定义常量( 字面常量除外 ) |
成员操作符 | 对象.成员 | 对象->成员 | 对象.成员 |
定义类 | //AAuto代码: //创建类实例对象 |
//PHP代码
class Cart{ //创建类对象实例 |
//Javascript代码 JS用new关键字来创建对象实例
obj = new 函数名或对象名 obj = new 函数名(构造参数)
|
语句 | io.print("hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
尾部的分号不能省略,函数调用的括号可以省略. |
document.write("Hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
数组定义 | 有两种数组
在AAuto中只有一种数据结构,即表(table),表可以包含顺序数组,也可以包含稀疏数组,关联数组等 AAuto使用分号分隔成员,并使用等号分隔键值对 . |
有两种数组类型:
PHP使用逗号分隔成员,并使用=> 分隔键值对 |
有两种数组
数组成员也可数组,构成多维数组。
在javascript还可以使用大括号定义对象,
定义一个Javascript 对象: |
数组元素数量 | 取数组使用 #操作符 array = table.array( 10 ) 数组长度 = #array; 使用 table.range(array ) 则可返回数组的最小,最大索引. |
count() 函数计算数组中的单元数目或对象中的属性个数。 对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。语法: count(array,mode) |
length 属性可设置或返回数组中元素的数目。 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。语法:arrayObject.length |
数组 尾部追加成员 |
array = {} table.push( array,"追加成员" ) //返回数组长度 |
$names = array("Peter","Joe"); names[] = "Quagmire"; //也可以这样写 array_push($names, "apple", "apple2"); |
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7 |
数组尾部弹出成员 | table.pop( 数组对象,弹出个数)
用于删除并返回数组的指定个数元素,如果个数为负数表示弹出元素反向排列。
如果省略第二个参数,则与PHP,Javascript用法一样,弹出最后一个元素。 |
arrayObject.pop()
用于删除并返回数组的最后一个元素 |
array_pop(数组对象)
弹出并返回 array 数组的最后一个成员 |
截取数组 | table.slice( 数组对象,开始位置,结束位置)
返回截取数组 |
array_slice ( 数组对象, 开始位置,长度)
返回截取数组,注意第二个参数是指定长度,而不是结束位置 |
数组对象.slice(开始位置,结束位置)
返回截取数组 |
定义函数 | function 函数名(参数){ return 返回值,返回值2 } AAuto函数可以返回多个值 |
function 函数名(参数){ return 返回值 } |
function 函数名(参数){ return 返回值 } |
定义字符串 | 字符串可以放入单引号或双引号, 在双引号中不支持转义符,在单引号中可使用转义符.例: str = "abcd" str = 'abcd\t' AAuto中字符串可以直接换行,双引号将换行解释为'\n',而单引号忽略所有换行 |
字符串可以放入单引号或双引号 $str = "abcd\t" $str = 'abcd'
双引号中支持转义符,但单引号不支持,与AAuto正好相反.这也意味着,单引号速度比双引号解析字符串的速度更快 |
字符串可以放入单引号或双引号,都支持转义符 |
字符串连接 | 使用两个加号连接 var str = "字符串" ++ "字符串" 连接字符串字面量时也可以省略为一个加号,例: var str = "字符串" + "字符串" |
使用一个圆点连接 $str = "字符串"."字符串" |
使用加号连接 var str = "字符串" + "字符串" |
字符串分割 | 用法示例: var 数组 = string.split("a,b,c,d",",") |
explode– 将字符串分割到数组中 array explode ( string pattern, string string [, int limit]) |
split() 方法用于把一个字符串分割成字符串数组。 stringObject.split(separator,howmany) |
返回部分字符串 |
var str = string.sub("12345",2,5) |
substr() 函数返回字符串的一部分。
语法:
substr(string,start,length) |
substr() 方法可在字符串中抽取 从 start 下标开始的指定数目的字符。
语法: stringObject.substr(start,length) |
模式匹配 | AAuto使用一种快速轻量的模式匹配语法,基本语法基本类似正则表达式,但是速度更快,使用更简单,并且所有AAuto函数默认支持 另外通过标准库 string.regex 也可以支持正则表达式. |
支持正则表达式 | 支持正则表达式 |
数学函数 | 所有数学函数都在math名字空间 io.open() //下取整 io.print( math.floor(5.1) ) |
floor() 函数向下舍入为最接近的整数。 语法: floor(x)返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。实例: | floor() 方法可对一个数进行下舍入。 语法: Math.floor(x)floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。实例: |
数学函数 | 语法:math.round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。 | round() 函数对浮点数进行四舍五入。 语法:round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。实例: | round() 方法可把一个数字舍入为最接近的整数。 语法:Math.round(x)与 x 最接近的整数。实例: |
项目 | AAuto | PHP | Javascript |
简介 | AAuto主要用于桌面软件快速开发语言,兼容动态类型、静态类型开发的混合型编程语言,AAuto可以生成数百KB的独立EXE,不依赖任何外部运行库.
|
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,常常搭配 Apache (web 服务器) 一起使用。PHP 语法非常类似于 Perl 和 C。 在Windows上可以使用 WAMPServer 等自动安装工具方便的创建运行环境,推荐开发工具 Zend Studio,phpDesinger7,Edit Plus,Notepad++ |
JavaScript 是因特网上最流行的客户端脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer、 Mozilla、Firefox、Netscape、和 Opera。JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies等
|
实现方式 | AAuto源码文件存储为 *.aau 格式的文本文件,也可以编译成二进制的 *.aau 文件,aau文件可以使用AAuto编写的EXE加载运行,也可以在快手中生成独立的EXE文件
|
PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 和 ?> 来开始和结束脚本块。例: | HTML 的 |
注释 | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。 在AAuto中多行注释的首尾星号数目可以有多个,并且首尾数目必须匹配,使用此特性,只要星号数目不一样,就可以在注释中包含其他多行注释 在AAuto中注释语句也可以用于赋值语句作为字符串使用.例如: var str = /*使用多行注释作为字符串换行总是被解释为'\r\n',也就是回车换行*/ | 单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
|
与PHP相同
|
变量 | 变量可以不声明直接使用, 使用赋值语句初始化变量。变量默认为当前名字空间成员变量。
变量分为三种: 1、全局变量 2、当前名字空间变量(也可以算是全局变量) 3、局部变是
AAuto的变量名也可以使用$符号, 但$是变量名的一部份
局部变量申明用var语句定义
使用self可表示当前名字空间,上面的语句等价于self.color = '#111'
在前面加上两点,则变量声明为全局变量, 例 ..color = "#111"
|
变量可以不声明直接使用,使用赋值语句初始化变量。函数内部变量默认为局部变量。
变量分为三种: 1、全局变量 2、局部变是
PHP 中的所有变量必须以 $ 符号开始。 $号是变量的修饰前缀,但不是变量名称的一部份
在PHP中函数内部变量默认为局部变量(这与AAuto,Javascript正好相反),使用 global 语句引入或声明全局变量.
例:
//用global关键字定义全局变量 global $g;
|
变量可以不声明直接使用,使用赋值语句初始化变量。 变量默认为全局变量。
变量分为三种: 1、全局变量 2、局部变是
Javascript的变量名也可以使用$符号,但$是变量名的一部份,例如在jQuery中$就是jQuery的别名.
局部变量申明用var语句定义 例:var sqlstr;
若不使用var,则此变量申明为全局变量。 例:color='#111';
|
全局表 | global 对象 |
$GLOBALS 对象 |
window 对象 |
定义常量 | 变量名首字符是下划线表示成员常题 变量名首字符是下划线并大写表示全局常量 变量前面加上::修饰符表示全局常量 常量值赋于任何非null值以后即不可修改为其他不同的值 |
使用 const与define 定义常量, 1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。 2、define不能在类中定义而const可以。 3、const不能在条件语句中定义常量 4、const采用一个普通的常量名称,define可以采用表达式作为名称。 5、const的值只能接受静态的标量,而define可以采用任何表达式。 6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量。 例: define('≈PI', M_PI); |
不支持定义常量( 字面常量除外 ) |
成员操作符 | 对象.成员 | 对象->成员 | 对象.成员 |
定义类 | //AAuto代码: //创建类实例对象 |
//PHP代码
class Cart{ //创建类对象实例 |
//Javascript代码 JS用new关键字来创建对象实例
obj = new 函数名或对象名 obj = new 函数名(构造参数)
|
语句 | io.print("hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
尾部的分号不能省略,函数调用的括号可以省略. |
document.write("Hello world"); 尾部的分号可以省略,函数调用的圆括号不能省略 |
数组定义 | 有两种数组
在AAuto中只有一种数据结构,即表(table),表可以包含顺序数组,也可以包含稀疏数组,关联数组等 AAuto使用分号分隔成员,并使用等号分隔键值对 . |
有两种数组类型:
PHP使用逗号分隔成员,并使用=> 分隔键值对 |
有两种数组
数组成员也可数组,构成多维数组。
在javascript还可以使用大括号定义对象,
定义一个Javascript 对象: |
数组元素数量 | 取数组使用 #操作符 array = table.array( 10 ) 数组长度 = #array; 使用 table.range(array ) 则可返回数组的最小,最大索引. |
count() 函数计算数组中的单元数目或对象中的属性个数。 对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。语法: count(array,mode) |
length 属性可设置或返回数组中元素的数目。 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。语法:arrayObject.length |
数组 尾部追加成员 |
array = {} table.push( array,"追加成员" ) //返回数组长度 |
$names = array("Peter","Joe"); names[] = "Quagmire"; //也可以这样写 array_push($names, "apple", "apple2"); |
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7 |
数组尾部弹出成员 | table.pop( 数组对象,弹出个数)
用于删除并返回数组的指定个数元素,如果个数为负数表示弹出元素反向排列。
如果省略第二个参数,则与PHP,Javascript用法一样,弹出最后一个元素。 |
arrayObject.pop()
用于删除并返回数组的最后一个元素 |
array_pop(数组对象)
弹出并返回 array 数组的最后一个成员 |
截取数组 | table.slice( 数组对象,开始位置,结束位置)
返回截取数组 |
array_slice ( 数组对象, 开始位置,长度)
返回截取数组,注意第二个参数是指定长度,而不是结束位置 |
数组对象.slice(开始位置,结束位置)
返回截取数组 |
定义函数 | function 函数名(参数){ return 返回值,返回值2 } AAuto函数可以返回多个值 |
function 函数名(参数){ return 返回值 } |
function 函数名(参数){ return 返回值 } |
定义字符串 | 字符串可以放入单引号或双引号, 在双引号中不支持转义符,在单引号中可使用转义符.例: str = "abcd" str = 'abcd\t' AAuto中字符串可以直接换行,双引号将换行解释为'\n',而单引号忽略所有换行 |
字符串可以放入单引号或双引号 $str = "abcd\t" $str = 'abcd'
双引号中支持转义符,但单引号不支持,与AAuto正好相反.这也意味着,单引号速度比双引号解析字符串的速度更快 |
字符串可以放入单引号或双引号,都支持转义符 |
字符串连接 | 使用两个加号连接 var str = "字符串" ++ "字符串" 连接字符串字面量时也可以省略为一个加号,例: var str = "字符串" + "字符串" |
使用一个圆点连接 $str = "字符串"."字符串" |
使用加号连接 var str = "字符串" + "字符串" |
字符串分割 | 用法示例: var 数组 = string.split("a,b,c,d",",") |
explode– 将字符串分割到数组中 array explode ( string pattern, string string [, int limit]) |
split() 方法用于把一个字符串分割成字符串数组。 stringObject.split(separator,howmany) |
返回部分字符串 |
var str = string.sub("12345",2,5) |
substr() 函数返回字符串的一部分。
语法:
substr(string,start,length) |
substr() 方法可在字符串中抽取 从 start 下标开始的指定数目的字符。
语法: stringObject.substr(start,length) |
模式匹配 | AAuto使用一种快速轻量的模式匹配语法,基本语法基本类似正则表达式,但是速度更快,使用更简单,并且所有AAuto函数默认支持 另外通过标准库 string.regex 也可以支持正则表达式. |
支持正则表达式 | 支持正则表达式 |
数学函数 | 所有数学函数都在math名字空间 io.open() //下取整 io.print( math.floor(5.1) ) |
floor() 函数向下舍入为最接近的整数。 语法: floor(x)返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。实例: | floor() 方法可对一个数进行下舍入。 语法: Math.floor(x)floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。实例: |
数学函数 | 语法:math.round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。 | round() 函数对浮点数进行四舍五入。 语法:round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。实例: | round() 方法可把一个数字舍入为最接近的整数。 语法:Math.round(x)与 x 最接近的整数。实例: |
Javascrit字符串函数手册 PHP字符串函数手册 AAuto字符串函数手册 |
Javascrit正则函数手册 PHP正则函数手册 AAuto正则函数手册 |
您可能会发现,这三种语言数组的函数名、用法都惊人的类似: Javascrit数组函数手册 PHP数组函数手册 AAuto数组函数手册 |