PHP, JScript 和 VBScript 函数和类的语法

80酷酷网    80kuku.com

  > 1)函数的例子
php:functioninc($val)
{return$val+1;}

过程也是个函数,只不过没有返回值。
jscript,javascript:
functioninc(val)
{returnval+1;}
过程的定义同上。
VBScript:
functioninc(val)
inc=val+1
endfunction
procedure
subinc2(byrefval)
val=val+1
endsub
2)类的例子
php:
classparent{
varproperty;
functionparent(){}
functionmethod(){}
}

/*继承*/
classchildextendsparent{varproperty=newvalue;
}

jscriptorjavascript:
classparent{
property=value
functionparent()functionmethod(){}}

不支持继承(原文是这样,但好像现在也支持了)
vbscript:
不支持类((原文是这样,但现在也支持了)

3)变量的范围
php:变量在函数或类外定义是允许的是全局变量;也可以在函数和类中定义局部变量。
不像其它的语言,在使用变量时,你必须声名一个全局变量在函数和类中使用关键字global.
$globalvar=1;
functionshow_global(){
global$globalvar;
print$globalvar;
}
jscriptorjavascript:
类似PHP,在函数中不需声明全局变量.
vbscript:
类似PHP,在函数和过程中不需声明全局变量.

4)访问引用
php:使用关键字,在函数的参数中
jscriptorjavascript
简单的通过变量访问,在函数里引用复杂的类型
vbscript:
使用ByRef关键字在Sub或函数的参数中.

5)默认参数
php:支持functionA(param1="abc")
其它的不支持。

6)引用返回(不知如何翻)
php:functiongetarray123(){
$val=array(1,2,3);
return&$val;
}
然后在代码中使用

$val=&getarray123();
其它的不支持

7)类
php:支持的较好
其它的:一般

8)错误处理
php:使用防止运行错误.

$val=function_can_fail();

范围是当前的声明,最后的错误能够在$php_errormsg检查出来,如果你设置了track_errors=On在PHP.ini.
javascriptorjscript:
使用tryandcatch.

try{
function_can_fail()
}catch(err){Response.Write(err)
}
vbscript:
使用OnErrorResumeNext忽略运行错误
新的版本也支持try和catch

另外,还有一篇关于语言的比较,有兴趣的也可以翻译一下。

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: