- 相關(guān)推薦
php與js有哪些區(qū)別
本文主要從類型轉(zhuǎn)換的不同、實形參的不同、數(shù)據(jù)類型的不同等方面介紹了php與js的區(qū)別,有需要的朋友可以參考一下!想了解更多相關(guān)信息請持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
1,類型轉(zhuǎn)換的不同
在javascript中
空對象和空數(shù)組轉(zhuǎn)換為boolean值為true;
但在php中
空對象空數(shù)組轉(zhuǎn)換為boolean值為false;
(僅在php4中空對象的boolean值為false)
包括非0的負(fù)數(shù)值,都是轉(zhuǎn)換為true;
2,實形參的不同
在js中形參和實參的個數(shù)對比起來都沒有限制,形參個數(shù)可以大于實參,也可以少于實參
而在php中,實參數(shù)大于形參不報錯,但當(dāng)實參個數(shù)少于形參個數(shù)時(并且未指定的形參未定義時就會報錯)
代碼如下:
function mao(val1,val2,val3){
}
mao(aa,bb);
此時由于val3未指定實參,會報錯
但當(dāng)val3初始化一個值時,不報錯
代碼如下:
function mao(val1,val2,val3="123"){
}
mao(aa,bb);
js中可以寫一個三元表達(dá)式來給未賦值的形參給定一個初始值,不可以和php一樣在形參列表里面賦值,
本質(zhì)原因由于php不存在原型連,執(zhí)行過程中沒有變量對象。
3.數(shù)據(jù)類型的不同
js中有undefined類型,php中無此類型,
因此當(dāng)一個變量未賦予任何值時,js中此類型為undefined(使用未申明的變量會報錯),而在php中則為Null類型;
并且js中只有number類型,而在php中無此類型,取代的為int float類型;
4.字符串的連接
js中使用加號 + +=
php中使用點號 ..=
5.控制語句的區(qū)別
else if與elseif在php中都支持,js只支持前者
6.大小寫問題
js嚴(yán)格區(qū)分大小寫
php中自定義函數(shù)名不區(qū)分大小寫。命名函數(shù)時不可使用已聲明的函數(shù),或PHP內(nèi)建的函數(shù)名稱。
7.變量的作用范圍
php在函數(shù)范圍之外所聲明的變量就是全局變量。由于函數(shù)可以視為單獨的
程序片段,所以局部變量會復(fù)蓋全局變量的能見度,因此在函數(shù)中并無
法直接調(diào)用使用全局變量。函數(shù)中若要使用全局變量時,必須要利用global關(guān)鍵字定義目標(biāo)變量,以
告訴函數(shù)主體此變量為全局。
js由于原型連的關(guān)系,可直接調(diào)用
8.靜態(tài)變量
PHP支持聲明函數(shù)變量為靜態(tài)的(static)
js隨無靜態(tài)變量但可以定義函數(shù)的屬性來冒充靜態(tài)變量
【php與js有哪些區(qū)別】相關(guān)文章:
php與js的區(qū)別07-19
php怎么引入js08-31
java和js的區(qū)別08-05
Java和PHP的區(qū)別有哪些09-30
php用法有哪些06-16
PHP語言的用途有哪些06-13
PHP常用函數(shù)有哪些10-17