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

作者:未知 来源:未知 添加时间:2006年7月2日 字体:

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

过程也是个函数,只不过没有返回值。 
jscript, javascript: 
function inc(val) 
{ return val + 1;} 
过程的定义同上。 
&#118bscript: 
function inc(val) 
inc = val + 1 
end function 
' procedure 
sub inc2(byref val) 
val = val + 1 
end sub 
2)类的例子 
php: 
class parent { 
var property; 
function parent() { } 
function method() { } 


/* 继承 */ 
class child extends parent { var property='new &#118alue'; 


jscript or javascript: 
class parent { 
property=&#118alue 
function parent() function method() { } } 

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

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

jscript or javascript: 
类似PHP, 在函数中不需声明全局变量. 
&#118bscript: 
类似PHP, 在函数和过程中不需声明全局变量. 

4)访问引用 
php:使用关键字,在函数的参数中 
jscript or javascript 
简单的通过变量访问,在函数里引用复杂的类型 
&#118bscript: 
使用ByRef 关键字在Sub 或函数的参数中.

5)默认参数 
php:支持function A(param1="abc") 
其它的不支持。 
6)引用返回(不知如何翻) 
php:function getarray123() { 
$val = array(1,2,3); 
return & $val; 

然后在代码中使用 

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

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

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

$val = @function_can_fail(); 

@范围是当前的声明,最后的错误能够在$php_errormsg检查出来,如果你设置了track_errors=On 在PHP.ini. 
javascript or &#106script: 
使用try and catch. 

try { 
function_can_fail() 
} catch(err) { Response.Write(err) 

&#118bscript: 
使用On Error Resume Next 忽略运行错误 
新的版本也支持try 和 catch 

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

ppdesk