7個php基礎與js操作的區別(PHP和JS)

本文目錄一覽:

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-tw/n/130613.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
TZTRW的頭像TZTRW
上一篇 2024-10-03 23:29
下一篇 2024-10-03 23:29

相關推薦

  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Sublime Test與Python的區別

    Sublime Text是一款流行的文本編輯器,而Python是一種廣泛使用的編程語言。雖然Sublime Text可以用於編寫Python代碼,但它們之間有很多不同之處。接下來從…

    編程 2025-04-29
  • 數據結構與演算法基礎青島大學PPT解析

    本文將從多個方面對數據結構與演算法基礎青島大學PPT進行詳細的闡述,包括數據類型、集合類型、排序演算法、字元串匹配和動態規劃等內容。通過對這些內容的解析,讀者可以更好地了解數據結構與算…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字元命令行的語言…

    編程 2025-04-29
  • Python零基礎PDF下載

    本文將為大家介紹如何使用Python下載PDF文件,適合初學者上手實踐。 一、安裝必要的庫 在Python中,我們需要使用urllib和requests庫來獲取PDF文件的鏈接,並…

    編程 2025-04-29
  • 樹莓派DIY無人機一:製作基礎

    本文將介紹如何使用樹莓派製作一個可飛行的小型無人機。本文將介紹樹莓派的選型、比例積木的使用、無線電通信以及如何控制飛行器的基本運動。 一、樹莓派的選型 在DIY無人機中,樹莓派是必…

    編程 2025-04-29

發表回復

登錄後才能評論