首頁  >  文章  >  web前端  >  php與js的差別是什麼_基礎知識

php與js的差別是什麼_基礎知識

WBOY
WBOY原創
2016-05-16 17:26:481512瀏覽
1,型轉換的不同

javascript

空物件和空白陣列轉換為boolean值為true;

但在php中

空物件空數組轉換為boolean值為false;

(僅在php4中空物件的boolean值為false)

包含非0的負數值,都是轉換為true;

2,實形參的不同

在js中形參和實參的個數對比起來都沒有限制,形參個數可以大於實參,也可以少於實參

而在php中,實參數大於形參不報錯,但當實參個數少於形參個數時(並且未指定的形參未定義時就會報錯)

複製程式碼 程式碼如下:


程式碼如下:

f val1,val2,val3){
}
mao(aa,bb);

此時由於val3未指定實參,會報錯但當val3初始化一個值時,不報錯
複製程式碼


程式碼如下:

function maovalfunction val2,val3="123"){
}
mao(aa,bb);


js中可以寫一個三元表達式來給未賦值的形參給定一個初始值,不可以和php一樣在形參列表裡面賦值, 本質原因由於php不存在原型連,執行過程中沒有變數物件。


3.資料類型的不同


js中有undefined類型,php中無此類型,

因此當一個變數未賦予任何值時,js中此類型為undefined(使用未申明的變數會報錯誤),而在php中則為Null類型; 並且js中只有number類型,而在php中無此類型,取代的為int float型別;


4.字串的連接


js中使用加號= php中使用點號..=


5.控制語句的區別
else if與elseif在php中都支持,js只支持前者


6.大小寫問題


js嚴格區分大小寫php中自訂函數名稱不區分大小寫。命名函數時不可使用已宣告的函數,或PHP內建的函數名稱。


7.變數的作用範圍


php在函數範圍之外所宣告的變數就是全域變數。由於函數可以視為單獨的
程式片段,所以局部變數會複蓋全域變數的能見度,因此在函數中並無
法直接呼叫使用全域變數。函數中若要使用全域變數時,必須利用global關鍵字定義目標變量,以
告訴函數主體此變數為全域。 js由於原型連的關係,可直接呼叫


8.靜態變數
PHP支援宣告函數變數為靜態的(static) js隨無靜態變數但可以定義函數的屬性冒充靜態變數
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn