重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

function setA(){
myNumber = 1000;
}
function setB(){
Number = myNumber;
}
setA内のmyNumberをsetBに反映させようとしましたが、反映されませんでした。JavaScriptのプログラミングの勉強は昨日からはじめました。プログラミングサイトを検索しては調べているのですが、さっぱりわかりません。setAでセットされたmyNumberをsetBで読み込むようにするにはどうすればいいのでしょうか?
初歩的な質問だと思いますが、解説していただけないでしょうか。宜しくお願いいたします。

A 回答 (4件)

★私も今年になって JavaScript を始めた者です。


・『Number』は外部にある変数(グローバル)ですので『setA』の関数に『setB』と同じ処理を
 記述するか、または『setA』の関数で『setB』関数を呼び出します。

サンプル1:
function setA(){
 myNumber = 1000;
 Number = myNumber; ←同じ処理を記述
}
function setB(){
 Number = myNumber;
}

サンプル2:
function setA(){
 myNumber = 1000;
 setB(); ←ここで呼び出し
}
function setB(){
 Number = myNumber;
}

最後に:
・2つのうちどちらでも動作します。
・なお、『Number』は外部にある変数(グローバル)ですので『setB』で直接 Number をアクセス
 出来ますよ。
・『JavaScript』の関数での変数はグローバル変数ですので明示的に『var』を付けない限りは
 ローカル変数になりません。私は C/C++ 言語を使っていますが、変数宣言のローカル、グローバル
 が逆転していますね。→混同しそうです。注意!
・以上。おわり。

余談:
・今日も朝から JavaScript を使ってホームページの新規ページを作成しています。
・お互いに JavaScript 頑張りましょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。詳しく解説してくださった大変勉強になりました。おかげ様で理解することができました。

お礼日時:2007/01/28 21:32

No.1です。


No.2さんのおっしゃる通りです。
すみません。失礼しました。
    • good
    • 0

>>1


専門家さんとのことですが、それが上の階層ですか?
笑えます。
setB関数内で格納した変数オブジェクトはグローバルです。
    • good
    • 0

function内ではなく、上の階層で宣言しておけば良いです。



<script language="JavaScript">
var myNumber;
function setA(){

以下省略。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。おかげ様で理解できました。

お礼日時:2007/01/28 21:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!