PHP, JScript 和 VBScript 函數(shù)和類的語法
[ 來源:php.weblogs.com |作者:John ]
1)函數(shù)的例子 php: function inc($val) { return $val + 1;}
過程也是個(gè)函數(shù),只不過沒有返回值。 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() { } }
不支持繼承(原文是這樣,但好像現(xiàn)在也支持了) vbscript: 不支持類((原文是這樣,但現(xiàn)在也支持了)
3)變量的范圍 php:變量在函數(shù)或類外定義是允許的是全局變量;也可以在函數(shù)和類中定義局部變量。 不像其它的語言,在使用變量時(shí),你必須聲名一個(gè)全局變量在函數(shù)和類中使用關(guān)鍵字global. $globalvar = 1; function show_global( ) { global $globalvar; print $globalvar; } jscript or javascript: 類似PHP, 在函數(shù)中不需聲明全局變量. vbscript: 類似PHP, 在函數(shù)和過程中不需聲明全局變量.
4)訪問引用 php:使用關(guān)鍵字,在函數(shù)的參數(shù)中 jscript or javascript 簡單的通過變量訪問,在函數(shù)里引用復(fù)雜的類型 vbscript: 使用ByRef 關(guān)鍵字在Sub 或函數(shù)的參數(shù)中.
5)默認(rèn)參數(shù) php:支持function A(param1="abc") 其它的不支持。
6)引用返回(不知如何翻) php:function getarray123() { $val = array(1,2,3); return & $val; } 然后在代碼中使用
$val = &getarray123(); 其它的不支持
7)類 php:支持的較好 其它的:一般
8)錯(cuò)誤處理 php:使用@ 防止運(yùn)行錯(cuò)誤.
$val = @function_can_fail();
@范圍是當(dāng)前的聲明,的錯(cuò)誤能夠在$php_errormsg檢查出來,如果你設(shè)置了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 忽略運(yùn)行錯(cuò)誤 新的版本也支持try 和 catch
另外,還有一篇關(guān)于語言的比較,有興趣的也可以翻譯一下。
來源:http://edu.chinaz.com