本文目錄一覽:
php和javascript的區別
PHP是運行於服務器端的後台腳本語言,其語法混合了 C、Java、Perl 以及 PHP 自創的語法。
JavaScript則是運行於瀏覽器端的前端腳本語言,名稱中雖然帶有java,但其實與java並沒有太大關係,JavaScript的語法風格更接近於Scheme。
因此可以說PHP與JavaScript幾乎沒有交集,要說有什麼相同點那就是都是程序設計語言吧,就跟中文和英文一樣。
一張圖讓我看懂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隨無靜態變量但可以定義函數的屬性來冒充靜態變量
PHP與JS之間的區別?
糾正一樓的回到,js也可以在服務器上運行,node.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隨無靜態變量但可以定義函數的屬性來冒充靜態變量
參考
原創文章,作者:TZTRW,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/130613.html