- # プログラミング全般 > JavaScript
JavaScriptとPHPの変数スコープの違い
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
ここのところJavaScriptを勉強して分かったことですけど、PHPとずいぶん違う部分があります。その一番の違いは、変数のスコープの違いです。以下にソースを示して違いを確認して見ます。
スポンサーリンク
PHPの場合
<?php $a = "鈴木さん"; function php_display() { echo $a; } php_display(); ?>
JavaScriptの場合
<script type="text/javascript"> var b = "山田さん"; function js_display() { document.write(b); } js_display(); </script>
それぞれの実行結果は・・・
PHPの場合の表示
JavaScriptの場合の表示
となり、PHPでは「鈴木さん」は表示されませんが、JavaScriptの場合、「山田さん」は表示されます。PHPでは関数の中から直接グローバルスコープの変数にはアクセスできないが、JavaScriptの場合はそれができる。
PHPで関数の中からグローバルスコープの変数にアクセスするためには・・・
PHPの場合、その2
<?php $c = "田中さん"; function php_display2() { echo $GLOBALS['c']; } php_display2(); ?>
と書いて、$GLOBALS変数でアクセスしてやると・・・・
今度は「田中さん」が表示されます。単に、「global $c;」と書いても良いのですが、この書き方はオライリーの本によると推奨されていませんでした。$GLOBALSを用いたほうが良いとのことです。
スポンサーリンク
>> 次の記事 : IEのinnerHTMLにはscriptタグを含んではダメだって
<< 前の記事 : FizzBuzzをJavaScriptで書いてみた
- - 関連記事 -
- グローバル変数を上書きしてしまうJavaScriptコードのthisを確認する
- JavaScriptでnewを忘れるとグローバル変数を上書きしてしまう
- JavaScriptテンプレートエンジンを動かしてみる
- JavaScriptのテンプレートエンジンの仕組みを解読してみる
- IEのinnerHTMLにはscriptタグを含んではダメだって
- FizzBuzzをJavaScriptで書いてみた
スポンサーリンク