php與js的區(qū)別是什么
更新時間:2013年08月05日 17:04:20 作者:
php與js的區(qū)別包括:類型轉換的不同、實形參的不同、數據類型的不同等等,更多參考下文,希望對大家有所幫助
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不存在原型連,執(zhí)行過程中沒有變量對象。
3.數據類型的不同
js中有undefined類型,php中無此類型,
因此當一個變量未賦予任何值時,js中此類型為undefined(使用未申明的變量會報錯),而在php中則為Null類型;
并且js中只有number類型,而在php中無此類型,取代的為int float類型;
4.字符串的連接
js中使用加號 + +=
php中使用點號 ..=
5.控制語句的區(qū)別
else if與elseif在php中都支持,js只支持前者
6.大小寫問題
js嚴格區(qū)分大小寫
php中自定義函數名不區(qū)分大小寫。命名函數時不可使用已聲明的函數,或PHP內建的函數名稱。
7.變量的作用范圍
php在函數范圍之外所聲明的變量就是全局變量。由于函數可以視為單獨的
程序片段,所以局部變量會復蓋全局變量的能見度,因此在函數中并無
法直接調用使用全局變量。函數中若要使用全局變量時,必須要利用global關鍵字定義目標變量,以
告訴函數主體此變量為全局。
js由于原型連的關系,可直接調用
8.靜態(tài)變量
PHP支持聲明函數變量為靜態(tài)的(static)
js隨無靜態(tài)變量但可以定義函數的屬性來冒充靜態(tài)變量
在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不存在原型連,執(zhí)行過程中沒有變量對象。
3.數據類型的不同
js中有undefined類型,php中無此類型,
因此當一個變量未賦予任何值時,js中此類型為undefined(使用未申明的變量會報錯),而在php中則為Null類型;
并且js中只有number類型,而在php中無此類型,取代的為int float類型;
4.字符串的連接
js中使用加號 + +=
php中使用點號 ..=
5.控制語句的區(qū)別
else if與elseif在php中都支持,js只支持前者
6.大小寫問題
js嚴格區(qū)分大小寫
php中自定義函數名不區(qū)分大小寫。命名函數時不可使用已聲明的函數,或PHP內建的函數名稱。
7.變量的作用范圍
php在函數范圍之外所聲明的變量就是全局變量。由于函數可以視為單獨的
程序片段,所以局部變量會復蓋全局變量的能見度,因此在函數中并無
法直接調用使用全局變量。函數中若要使用全局變量時,必須要利用global關鍵字定義目標變量,以
告訴函數主體此變量為全局。
js由于原型連的關系,可直接調用
8.靜態(tài)變量
PHP支持聲明函數變量為靜態(tài)的(static)
js隨無靜態(tài)變量但可以定義函數的屬性來冒充靜態(tài)變量
相關文章
javascript向flash swf文件傳遞參數值注意細節(jié)
如何使用javascript向SWF文件傳遞參數?在網上找了一個完整的教程,很有啟發(fā)性和實用性,如下是完整實現的步驟,需要的朋友可以參考下2012-12-12
深入理解JavaScript系列(43):設計模式之狀態(tài)模式詳解
這篇文章主要介紹了深入理解JavaScript系列(43):設計模式之狀態(tài)模式詳解,狀態(tài)模式(State)允許一個對象在其內部狀態(tài)改變的時候改變它的行為,對象看起來似乎修改了它的類,需要的朋友可以參考下2015-03-03
js中getBoundingClientRect( )方法案例詳解
這篇文章主要介紹了js中getBoundingClientRect( )方法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-07-07

