2012-01-30 35 views
2

我開始學習JavaScript和我寫了一個無限循環在javascript中執行無限循環是否只對計算機資源徵稅?

<script> 
while(1==true){ 
    document.write("hello world"); 
} 
</script> 

我從命令行運行top -d .5,並沒有看到這個劇本佔用CPU。

我再以.php

<?php 
    while(1==true){ 
     echo "Hello World"; 
    } 
?> 

創造了一個無限循環,我從命令行運行top -d .5,看到這個劇本.PHP佔用CPU。

這使我相信,當用JavaScript編寫的無限循環運行時,它只會計算您的計算機的資源,而不是服務器的資源(我想這就是爲什麼他們稱之爲客戶端語言。)有人可以證實這一點嗎?

更一般地說,這是否意味着所有JavaScript稅的解釋只有您的計算機的資源,而不是服務器的?

+2

JavaScript只是一種語言。有幾種實現方式,包括像Node.js – 2012-01-30 08:23:11

回答

5

確實如此。 在PHP中進行循環時,服務器端會佔用服務器的資源。在「javascript」中執行腳本時,您將使用客戶資源,除非您當然需要在服務器端調用。在大多數現代瀏覽器中,Javascript只是使用瀏覽器內存,這意味着在瀏覽器退出之前你不能佔用所有的計算機資源。

此致敬禮 喬納斯

+0

+1最佳IMHO最佳答案因爲它指出循環內進行調用。 – Filburt 2012-01-30 08:38:47

+0

感謝您的+1並編輯Filburt。祝你有個美好的一天。最好的問候喬納斯 – 2012-01-30 09:00:50

3

任何運行的東西都會在運行時消耗資源。

在你的樣品:

  • 客戶端的JavaScript:只需要資源的客戶端(它不訪問任何其他機器)
  • PHP:PHP的把你的服務器的資源

你也應該知道javascript可以在服務器上運行,node.js是服務器端javascript的一個很好的例子。

3

你是絕對正確的。

Javascript運行客戶端。

+0

這樣的服務器端實現,這有點太籠統了...... JavaScript也可以在服務器端運行(如node.js)。 – Yahia 2012-01-30 08:20:59

+0

@Yahia同意了,我正在尋找另一個有關此主題的問題。這只是一個用戶的頭。這個問題,恕我直言對於SO來說太廣泛和明顯。 – Frankie 2012-01-30 08:22:38

+0

@Yahia我投你一票,因爲我找不到類似的問題... – Frankie 2012-01-30 08:25:31