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
另外,还有一篇关于语言的比较,有兴趣的也可以翻译一下。
|