日期:2010-11-14  浏览次数:20762 次

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

过程也是个函数,只不过没有返回值。
jscript, JavaScript:


function inc(val)
{ return val + 1;}
过程的定义同上。
VBScript:
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 value ;
}

jscript or JavaScript:
class parent {
property=value
function parent() function method() { } }

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

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

4)访问引用
PHP:使用关键字,在函数的参数中
jscript or JavaScript
简单的通过变量访问,在函数里引用复杂的类型
vbscript:
使用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 jscript:
使用try and catch.

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

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