- # プログラミング全般 > 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で書いてみた
スポンサーリンク