php與js有哪些區別

來源:文萃谷 9.1K

本文主要從類型轉換的不同、實形參的不同、數據類型的不同等方面介紹了php與js的區別,有需要的朋友可以參考一下!想了解更多相關信息請持續關注我們應屆畢業生考試網!

php與js有哪些區別

  1,類型轉換的不同

在javascript中

空對象和空數組轉換為boolean值為true;

但在php中

空對象空數組轉換為boolean值為false;

(僅在php4中空對象的boolean值為false)

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

  2,實形參的不同

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

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

代碼如下:

function mao(val1,val2,val3){

}

mao(aa,bb);

此時由於val3未指定實參,會報錯

但當val3初始化一個值時,不報錯

代碼如下:

function mao(val1,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隨無靜態變量但可以定義函數的屬性來冒充靜態變量

熱門標籤