aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 17370|回复: 11

aardio,Javascript,PHP语法比较

[复制链接]

27

主题

648

回帖

4138

积分

超级版主

积分
4138
发表于 2012-4-24 14:36:03 | 显示全部楼层 |阅读模式
本帖最后由 quicker 于 2012-4-24 15:40 编辑

请打开下面的链接查看《aardio,Javascript,PHP语法比较》
http://bbs.aardio.com/doc/aau-php-js.html

欢迎大家都来参与此贴
跟贴说明你知道的这几种语言的语法区别,可以附上代码实例。

27

主题

648

回帖

4138

积分

超级版主

积分
4138
 楼主| 发表于 2012-4-24 14:39:22 | 显示全部楼层
JS与aardio语法比较(面向对象部分) http://bbs.aardio.com/doc/reference/web/js-aau.html

27

主题

648

回帖

4138

积分

超级版主

积分
4138
 楼主| 发表于 2012-4-24 14:40:35 | 显示全部楼层
//PHP定义变量
import console

import php;

//PHP代码
phpcode =/*  
    //定义变量必须在前面加上美元符号,实际的变量名字并不包含前面的美元符号
    //在函数外面定义的默认是全局变量,这一点与aardio相同
    $g = "我是全局变量 ";  

    //定义函数
    function func() {
   
         //函数内部定义的变量默认是局部变量
         //而aardio在任何时候定义的变量都是默认为当前名字空间的成员变量,而不是局部变量
         //变量不需要声明,即可直接赋值定义,这与aardio相同
        $v = "我是局部变量 ";
        print( $v );  //调用函数可以省略括号,aardio不允许你这么做
         
        if ( ! isset($g) ) { //判断变量是否存在
              echo '不能访问全局变量';
        }
        
        global $g; //用global关键字定义全局变量
        if ( isset($g) ) {
              echo '全局变量$g的值'.$g;
              
              //也可以这样访问全局变量
              //类似aardio中的 ..global,注意在PHP中是大写,不要忘记了后面多一个字母S
              echo $GLOBALS["g"] ;
        }  
        
        unset($g); //释放变量
        
        //字符串连接符是一个圆点,而在aardio中圆点是成员操作符,两个加号才是字符串连接
        echo "字符串相加"."字符串相加".$v;
    }
   
    //调用函数
    func();
   
    //注意PHP中不能省略行尾的分号
    //但是在aardio中可以省略行尾分号(自由总是有代价的,还是加上的好)

*/


//运行PHP代码,返回表达式的值
php.exec(phpcode);
..console.log(
"可以直接读写PHP全局变量", php.g )

//用aardio写一遍相同的代码
//==================================================

//变量不需要声明,即可直接赋值定义,这与aardio相同
//你可以在变量名前加上美元符号,但不是必须的,美元符号是变量名字的一部分(而PHP的真实变量名称不包含美元符号)
$g = "我是全局变量 ";  

//定义函数
function func() {  
   
//aardio默认定义的变量都是全局变量,所以没有global关键字
    //但是有var关键字,var语句定义一个局变量
    var $v = "我是局部变量 ";
    console.log( $v );  
//调用函数不能省略括号(php中可以), print函数总会在后面增加一个换行(PHP不会)
        
   
if ( $g) { //判断变量是否存在
          console.log( '可以访问全局变量' );
    }
   
   
//实际上面所指的全局变量是当前名字空间的变量( PHP旧版本不支持名字空间 )
    console.log( ..$g ) //而加上两点则表示真正的全局变量
    console.log( ..global["$g"] ) //这个等价于PHP中的 $GLOBALS["g"]
   
    $g =
null ; //释放变量
   
   
//连接字符串字面常量时,可以用一个加号替代两个加号
    console.log( "字符串" ++ "字符串" + "字符串" ) //可以省略分号(PHP不可以)
}

//调用函数
func();

12

主题

646

回帖

3938

积分

荣誉会员

子非魚、安知魚之樂

积分
3938
发表于 2012-4-24 15:33:31 | 显示全部楼层
//aardio调用PHP代码演示
import php;

//打开控制台
import console
  
//PHP代码
phpcode =/*
    $a = strlen("Hello world!");
    $b = strpos("Hello world!","world");
*/


//运行PHP代码
php.exec(phpcode)  

console.log( php.a ,#
"Hello world!")
console.log( php.b ,( string.find(
"Hello world!","world") ) )
//php字符串 "world" 的位置是 6, 而不是 7,是由于字符串中的首个位置的 0,而不是 1。


   

19

主题

294

回帖

1945

积分

新手入门

积分
1945
发表于 2012-4-24 15:50:24 | 显示全部楼层
本帖最后由 ljtnine 于 2012-4-24 16:07 编辑

PHP调用对象成员操作符为"->",aardio和Javascript为"."
import php;

//PHP代码
phpcode =/*
    class Myclass{
        public function func(){
            return "abc";
        }
    };
   
    $Myclass = new Myclass();
    $str = $Myclass->func();
*/


//运行PHP代码,返回表达式的值
php.exec(phpcode)

import console
console.log( php.str )
//取php变量

//aardio代码
class Myclass{
    func =
function(){
        
return "abc";
    }
}

Myclass = Myclass();
console.log( Myclass.func() )

19

主题

294

回帖

1945

积分

新手入门

积分
1945
发表于 2012-4-24 15:51:38 | 显示全部楼层
本帖最后由 ljtnine 于 2012-4-24 16:01 编辑

PHP字典赋值操作符为"=>",aardio和Javascript为"="

import php;

//PHP代码
phpcode =/*
    $ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
    $PeterAge = $ages["Peter"]
*/


//运行PHP代码,返回表达式的值
php.exec(phpcode)

import console
console.log( php.PeterAge )
//取php变量


//aardio代码
ages = { Peter=32;Quagmire=30;Joe=34}
console.log( ages.Peter )

12

主题

646

回帖

3938

积分

荣誉会员

子非魚、安知魚之樂

积分
3938
发表于 2012-4-24 15:58:23 | 显示全部楼层
//aardio
/*
select
如果没有 case 为真,则使用 else 语句
*/


select(x) {
   
case 1 {
        console.log(
"Number 1");
        
break;
    }
   
case 2 {
        console.log(
"Number 2");
        
break;
    }
   
case 3 {
        console.log(
"Number 3");
        
break;
    }
   
else {
        console.log(
"No number between 1 and 3");
    }
}

//PHP
/*
switch
如果没有 case 为真,则使用 default 语句
*/


<?php
switch ($x)
{
case 1:
  echo
"Number 1";
  
break;
case 2:
  echo
"Number 2";
  
break;
case 3:
  echo
"Number 3";
  
break;
default:
  echo
"No number between 1 and 3";
}
?>
//select 使用{}定义case语句、而switch 使用“:”定义case语句

39

主题

151

回帖

1244

积分

四级会员

积分
1244
发表于 2012-4-24 23:17:27 | 显示全部楼层
  1. import console;//打开控制台

  2. var a = 1;

  3. select(a) {
  4.         case "1" {
  5.                 console.log("yes1");
  6.         }
  7.         case 1 {
  8.                 console.log("yes2");
  9.         }
  10.         else {
  11.                 console.log("oh,may god");
  12.         }
  13. }

  14. console.pause() //按任意键继续
  15. ;//关闭控制台
复制代码
打印的结果是 yes2,而不是yes1

aardio里的select语句里默认用恒等式比较(不会自动转换类型),
而PHP里默认用等式比较(会尝试自动转换类型)





39

主题

151

回帖

1244

积分

四级会员

积分
1244
发表于 2012-4-25 21:08:56 | 显示全部楼层
php 部分的分隔,split这个函数已经被废弃了,手册可以更改为explode(string $separator, string $string [, int $limit ] )

0

主题

6

回帖

52

积分

一级会员

积分
52
发表于 2014-9-23 09:38:39 | 显示全部楼层
会点php,js对于aardio新手, 这个帖子非常适合我.

1

主题

25

回帖

367

积分

二级会员

积分
367
发表于 2015-7-29 11:11:15 | 显示全部楼层
感谢分享,知道差别再能更好使用!!!

0

主题

9

回帖

60

积分

一级会员

积分
60
发表于 2016-9-2 21:56:13 | 显示全部楼层
会点js,与aardio感觉相似
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-2-13 06:41 , Processed in 0.060214 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表