打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
AAuto,PHP,Javascript语法比较
项目AAutoPHPJavascript
简介
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 开始,以 ?> 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 <? 和 ?> 来开始和结束脚本块。例:<?php /PHP Document…… ?>HTML 的 <script> 标签用于把 JavaScript 插入 HTML 页面当中。 例:<script language="javascript">// JavaScript Document …… </script>
注释单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。 在AAuto中多行注释的首尾星号数目可以有多个,并且首尾数目必须匹配,使用此特性,只要星号数目不一样,就可以在注释中包含其他多行注释 在AAuto中注释语句也可以用于赋值语句作为字符串使用.例如: var str = /*使用多行注释作为字符串换行总是被解释为'\r\n',也就是回车换行*/
单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
与PHP相同
变量
变量可以不声明直接使用, 使用赋值语句初始化变量。变量默认为当前名字空间成员变量。
变量分为三种:
1、全局变量
2、当前名字空间变量(也可以算是全局变量)
3、局部变是
AAuto的变量名也可以使用$符号,
但$是变量名的一部份
局部变量申明用var语句定义
例:var sqlstr;
若不使用var,
则此变量申明为当前名字空间成员变量。
例:color='#111';
使用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);
const CHARSET = "中国";
不支持定义常量( 字面常量除外 )
成员操作符对象.成员对象->成员对象.成员
定义类//AAuto代码:
class myclass{
//ctor定义类的构造函数
ctor(  ){
/*
构造函数中可以用
var语句定义在类作用域内部的私有变量.
*/
var private = 123;
this.name = "张三";
this.getName = function(){
return this.name;
}
this.setName = function(name){
this.name = name;
}
};
//下面的这样增加类实例成员的方法,
//javascript是不支持的
age = 23;
gohome = function(){
io.print("I'm back")
}
}
//创建类实例对象
var object = myclass()
//PHP代码
class Cart{
//定义成员变量,
//PHP里var可不是定义局部变量的意思
var $items = 123; // 购物车中的项目
// 把 $num 个 $artnr 放入车中
function add_item ($artnr, $num){
$this->items[$artnr] += $num;
}
// 把 $num 个 $artnr 从车中取出
function remove_item ($artnr, $num){
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num;
return true;
} else {
return false;
}
}
}
//创建类对象实例
$a = new Cart;
echo $a->items;//注意这里items前面不能再加$符号
//Javascript代码
function myclass(){
this.name = "张三";
this.getName = function(){
return this.name;
}
this.setName = function(name){
this.name = name;
}
}
JS用new关键字来创建对象实例
obj = new 函数名或对象名 obj = new 函数名(构造参数)
语句io.print("hello world");
尾部的分号可以省略,函数调用的圆括号不能省略<?php echo "Hello World"; ?>
尾部的分号不能省略,函数调用的括号可以省略.document.write("Hello world");
尾部的分号可以省略,函数调用的圆括号不能省略
数组定义
有两种数组
数值数组 带有数字 ID 键的数组
var names ={"Peter";"Quagmire";"Joe"};
//创建指定长度数组
array = table.array( 10 )
//创建多维数组
array = table.array(3,5,{} )
关联数组 数组中的每个 名字关联一个值
ages = { Peter = 32 ; Quagmire = 30;Joe=34 };
数组成员也可数组,构成多维数组。
在AAuto中只有一种数据结构,即表(table),表可以包含顺序数组,也可以包含稀疏数组,关联数组等
AAuto使用分号分隔成员,并使用等号分隔键值对 .
有两种数组类型:
数值数组 带有数字 ID 键的数组
$names = array("Peter","Joe");
关联数组 数组中的每个 ID 键关联一个值
$ages = array( "Peter"=>32, "Quagmire"=>30, "Joe"=>34);
数组成员也可数组,构成多维数组。
PHP使用逗号分隔成员,并使用=> 分隔键值对
有两种数组
数值数组 带有数字 ID 键的数组
var names = ["Peter", "Quagmire", "Joe"];
也可以这样写
var names = new Array("Peter","Quagmire","Joe");
关联数组 数组中的每个名字值关联一个值
var ages = [];
ages["peter"] = 32;
ages["Quagmire"] = 30;
数组成员也可数组,构成多维数组。
在javascript还可以使用大括号定义对象,
对象类似AAuto中的table(表),也是在大括号中定义:
定义一个Javascript 对象:
var user = {"name":"zhangs", "age":28};
也可以写成:
var name =  "zhangs", user = {name:name, age:28};
avascript使用逗号分隔成员,并使用冒号分隔键值对。
数组元素数量取数组使用 #操作符
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 = "abcd\t"
var str = 'abcd\t'
字符串连接使用两个加号连接
var str = "字符串" ++  "字符串"
连接字符串字面量时也可以省略为一个加号,例:
var str = "字符串" + "字符串"使用一个圆点连接
$str = "字符串"."字符串"使用加号连接
var str = "字符串" + "字符串"
字符串分割
用法示例:
var 数组 = string.split("a,b,c,d",",")
explode– 将字符串分割到数组中
说明:
array explode ( string pattern, string string [, int limit])
注: php中也有split函数,但使用正则表达式分割,其他用法一样,explode()函数速度更快一些
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 要大。实例:<?php echo(floor(5.1)); ?>floor() 方法可对一个数进行下舍入。 语法: Math.floor(x)floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。实例:<script type="text/javascript"> document.write(Math.floor(5.1) + "<br />") </script>
数学函数语法:math.round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。round() 函数对浮点数进行四舍五入。 语法:round(x,prec)返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。实例:<?phpecho(round(0.49)); ?>round() 方法可把一个数字舍入为最接近的整数。 语法:Math.round(x)与 x 最接近的整数。实例:<script type="text/javascript">document.write(Math.round(0.49) + "<br />") </script>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PHP的数据类型、类型转换及相关函数
H5学习_番外篇_PHP的入门学习
php基础教程-变量
PHP 7.0 升级备注 |唐建鹏博客
php中print_r、var_dump和var_export几个函数的用法区别
细数 PHP 中的那些坑(转)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服