您好,登錄后才能下訂單哦!
小編給大家分享一下php和js的區(qū)別有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php和js區(qū)別:1、js是工作在瀏覽器端的腳本語言,而php是工作在服務(wù)器端的腳本;2、js所提交的數(shù)據(jù)是交給瀏覽器來處理的,而php是把數(shù)據(jù)提交給服務(wù)器去處理,服務(wù)器再響應(yīng)到瀏覽器。
兩者在語法上類似,樓上說的對(duì),js=javascript是工作在瀏覽器端的腳本語言,他所提交的數(shù)據(jù)是交給瀏覽器來處理的。但是現(xiàn)在的Ajax技術(shù)已經(jīng)可以把js提交的數(shù)據(jù)交付到瀏覽器來處理。
php,是工作在服務(wù)器端的腳本,把數(shù)據(jù)提交給服務(wù)器去處理,服務(wù)器再響應(yīng)到瀏覽器,這個(gè)你要看下BS結(jié)構(gòu)。如果學(xué)習(xí)建議:很多人先學(xué)的js,道理是沒錯(cuò),但是如果先學(xué)PHP的話,js就是帶著需求來學(xué)習(xí)的,學(xué)的會(huì)更加有針對(duì)性。
嵌入頁面方式
JS嵌入方式:<script></script>
PHP嵌入方式:<?php
?>(常用)
輸出語法
Javascript輸出
1.alert("警告的內(nèi)容")
2.prompt("提示的內(nèi)容")
3.document.write()(頁面輸出內(nèi)容)
PHP輸出
1.echo(常用)//可同時(shí)輸出多個(gè)字符串 eg:echo $a,"hello";
2.print //只能輸出一個(gè)字符串 eg:print $a;
3.print_r();//可以打印數(shù)組
4.var_dump();//可輸出變量的內(nèi)容、類型和長度
數(shù)據(jù)類型
JS數(shù)據(jù)類型
整型(整數(shù))int
單精度小數(shù) float
雙精度小數(shù) double
小數(shù) decimal
布爾型 bool(只能存兩個(gè)狀態(tài))
日期時(shí)間類型 datetime
字符 char(不常用)強(qiáng)
字符串 string(不常用)強(qiáng)
PHP數(shù)據(jù)類型
bool 布爾型(存儲(chǔ)兩種狀態(tài))
int 整型
float(double) 浮點(diǎn)型
char 字符
string 字符串
定義變量
JS定義變量:var a = 10;
(注意:1.如果定義整數(shù)或小數(shù)的變量,等號(hào)后面的值直接寫
2.如果定義字符串變量,等號(hào)后面的值需要加雙引號(hào)或單引號(hào))
PHP定義變量: $a = 5; $a = "hello"; $a = <<<A 定義的字符串內(nèi)容 //也可放HTML代碼 A;
(注意:1.如果定義整數(shù)或小數(shù)的變量,等號(hào)后面的值直接寫
2.如果定義字符串變量,等號(hào)后面的值需要加雙引號(hào)或單引號(hào))
字符串拼接
JS中字符串拼接:"+"; eg:"hello"+"world"
PHP中字符串拼接:"."; eg:"hello"."world"
PHP特有的變量特征
// 轉(zhuǎn)義字符:一般用在字符串里面,用來輸出特殊的內(nèi)容
// \" 輸出雙引號(hào) \t 制表符 \n 換行
eg:$s = "wo\"rld"; //轉(zhuǎn)義加引號(hào) $s = "wo\trld"; //轉(zhuǎn)義制表 $s = "wo\nrld"; //轉(zhuǎn)義換行
$a = "你好";
//解析變量
$b = "hello{$a}"; //輸出hello,你好
類型轉(zhuǎn)換
JS中類型轉(zhuǎn)換
1.轉(zhuǎn)化為整數(shù):parseInt();
2. 轉(zhuǎn)化為小數(shù):parseFloat();
3.判斷是否為合法數(shù)字類型:isNaN();
PHP中類型轉(zhuǎn)換
1.$a = (Int)$a; //強(qiáng)制轉(zhuǎn)化變量a為整數(shù)
2.$b = settype($b,"string"); //強(qiáng)制轉(zhuǎn)化變量a為字符串
PHP中關(guān)于變量的常用函數(shù)
$s = 5;
1.var_dump(empty($s)); //empty($s)判斷變量s是否為空,可以為0,可以為空字符串,也可以是未定義
2.unset($s); //刪除變量s
3.var_dump(isset($s)); //isset($s)判斷變量s是否定義
PHP中的特殊用法
1.變量取地址
$a = "hello";
$b = &$a; //&代表取變量的地址
echo($b); //輸出結(jié)果為hello
2.可變變量
$s = "hi";
$hi = "你好";
echo $$s; //輸出的是 你好
適合的工具做適合的事。
用上牛逼的工具不等于人就變得牛逼了。
什么領(lǐng)域都有天花板。
瀏覽器是JS的主場,但服務(wù)器不是JS的主場.服務(wù)器不像瀏覽器只能跑JS. JS在服務(wù)器的運(yùn)行環(huán)境(Node)跟瀏覽器差別很大. 在服務(wù)器Node應(yīng)用是以一個(gè)獨(dú)立的守護(hù)進(jìn)程運(yùn)行, 代碼稍有不慎就可能導(dǎo)致進(jìn)程崩潰退出, 而且修改代碼需要重啟Node進(jìn)程才能生效(那些自動(dòng)化工具nodemon/pm2本質(zhì)也是重啟服務(wù)). 服務(wù)器的PHP跟瀏覽器反而更像,都是提供一個(gè)比較穩(wěn)定的容器來執(zhí)行腳本. 所以一個(gè)PHP虛擬主機(jī)環(huán)境可以穩(wěn)定運(yùn)行多個(gè)PHP站點(diǎn).你很難寫出讓PHP容器(如PHP-FPM和Apache)發(fā)生崩潰的PHP代碼. 瀏覽器也會(huì)盡量避免因?yàn)榫W(wǎng)站JS的問題導(dǎo)致的崩潰. 比如瀏覽器Chrome/Firefox跟PHP-FPM用的都是多進(jìn)程架構(gòu). 子進(jìn)程崩潰并不會(huì)影響主進(jìn)程,主進(jìn)程可以重新啟動(dòng)一個(gè)子進(jìn)程提供服務(wù).
看看已經(jīng)逝去的ASP,連Java開發(fā)者都不愛的JSP,寂寥落寞的RoR,以及一直自嗨的Python Web,你就會(huì)知道,現(xiàn)在動(dòng)不動(dòng)鼓吹全棧的Node遲早也是這其中的一員.
Google不喜歡JS,想推自己的Dart,但沒成功.Microsoft不喜歡JS,想推自己的TypeScript.Facebook也不太滿意JS,所以React搞了自己的JSX.可見在瀏覽器端JS也不是誰都滿意,更別說好事者把V8移植到服務(wù)器的Node方案了.
要說哪個(gè)語言曾經(jīng)嚴(yán)重威脅過PHP的市場,我會(huì)說那個(gè)語言是ASP,不過還好,微軟為了對(duì)付JavaEE,放棄了ASP,搞了類Java Web的ASP.NET,加上ASP無法跨平臺(tái)且不開源,自然也就在與PHP的競爭中落敗.
唱衰PHP的聲音一直都有,但草根英雄PHP從來都用質(zhì)樸的實(shí)力來教對(duì)手做人.因?yàn)镻HP貫徹的是實(shí)用主義和群眾路線思想, 所以沒有豪門支持的PHP照樣能在互聯(lián)網(wǎng)上雄霸一方.
PHP的成功在于堅(jiān)定不移地走群眾路線. 量變(用戶量/代碼量)引起質(zhì)變. 用戶量體現(xiàn)在互聯(lián)網(wǎng)上有超過82%的網(wǎng)站使用PHP驅(qū)動(dòng).代碼量體現(xiàn)在PHP自帶的各種功能擴(kuò)展以及使用PHP開發(fā)的各種博客/論壇/商城系統(tǒng).
只有比PHP更PHP的語言才有可能取代PHP. "更"體現(xiàn)在比PHP更簡單,更實(shí)用,更高效,學(xué)習(xí)/開發(fā)/運(yùn)維成本更低. 我很樂于見到這么一門語言出來,但很顯然,現(xiàn)在還沒有.
以上是php和js的區(qū)別有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。