• 締切済み

Javascript について質問です

Javascriptで下記のような文章を書きました。 for(var i=0;i<3;i++){ console.log("T"); }; i=0; while(i==2){ console.log("i=0です"); i++; }; なんで実行結果に、0が入るのでしょうか? またwhile文についてですが、実行されておりません。条件式をi<2にしたら動きました。 理由が分からないので、教えてください。 実行結果 T T T 0

みんなの回答

回答No.1

for(var i=0;i<3;i++){ console.log("T"); }; i=0;← ココで0にしてない? ということはiが0になって while(i==2){} iが2の間whileを実行するんだから動かない。 i<2の場合は動く。

34ttta
質問者

お礼

ありがとうございます。 またよろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Javascript について質問です

    for(var i=0;i<3;i++){ console.log("it"+ i); i++; }; 上記の実行結果が下記のようになり、i=1が表示されません。 すいませんが、教えてください。

  • Javascript について質問です

    for in 文について質問です。(実行結果は一番下にあります。) 本当に分からなくて困っています。質問自体長く、お見苦しい点も多いと思いますが、皆様の力が必要なので、分かる方がおりましたら助けてくださると本当にありがたいです。 下記のように、friendsというオブジェクトを定義しました。 いまいち、オブジェクトの意味が理解できていないので、表層的なことしか理解できておりません。下記のプログラムは動きましたが、codeacademyというサイト上で動かしているので、少し実行結果が変わってしまい、よくわかりません。 質問(1):そこで質問なのですが、下記(真下)のプログラムは、どのような動きをしているのでしょうか。これは単純に、steve,jobsを出力するためのプログラムでしょか? var list= function(friends){ for(var i in friends){ console.log(i); } } 質問2;こちらの関数についてですが、nameを引き渡していますが、プログラム上には何も定義していないのに、動きました。なぜ動くのでしょうか? var search = function(name) { for (var key in friends) { if(friends[key].firstName== name){ console.log(friends[key]); return friends[key]; } } }; 質問3; search 関数の中で、for in 文の中にiを定義していますが、これは、単純にプロパティの個数文、for文を回すものと理解してもよろしいでしょうか。 私が気になっているのは、friends[i]となっても、friendsオブジェクトでそのような変数を定義していないので、マッチしないと思い、いまいち理解しきれません。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー var friends={ steve: { firstName: "Steve", lastName: "jobs", number: "090", address: ["Apple fundor"] }, bill: { firstName: "Bill", lastName: "Gates", number: "080", address: ["Microsoft fundor"] } }; var list= function(friends){ for(var i in friends){ console.log(i); } } var search = function(name) { for (var key in friends) { if(friends[key].firstName== name){ console.log(friends[key]); return friends[key]; } } }; ーーーーーーーーーーーーーーーーーーーーー実行結果ーーーーーーーーーーーー { firstName: 'Steve', lastName: 'jobs', number: '090', address: [ 'Apple fundor' ] } { firstName: 'Steve', lastName: 'jobs', number: '090', address: [ 'Apple fundor' ] } { firstName: 'Bill', lastName: 'Gates', number: '080', address: [ 'Microsoft fundor' ] }

  • Javascript について質問です

    var tired=true; var bored=false; var nap = function() { if(tired || bored){ console.log("OK"); } else{ console.log("else"); } }; 上記のコードを書いた際、下記の実行結果となり、OKが表示されません。 どなたか原因が分かる方がおりましたら、教えてください。 else

  • Javascriptのスコープについて。

    私は何か大きな勘違いをしているでしょうか? for(var i=0; i<10; i++){ for(var i=0; i<10; i++){ alert(i); } } 単純なこのサンプルで、ループは総計100回回るはずだと思うのですが、 外側ループのローカル変数であるiが、なぜか内側ループのローカル変数iと同一視され、 結果10回しか回りません。 どこがおかしいでしょうか。 比較対象として、以下を実行しました。 var i=3; (function(){ var i = 2; alert(i); })(); alert(i); 結果は2, 3となりました。 スコープは機能しています。 前者はfor文だからおかしくなったのでしょうか? ・・・while文で書き下すと、あ、for文の()中で宣言するカウンタ変数というのは、該当for文のスコープの外に出ちゃっているんですね・・・。 つまり、for(var i・・・)と宣言したカウンタ変数のスコープは、for(){}のスコープではなく、その一個外に所属すると。。 こういう解釈でよいのでしょうか?よろしくお願い致します。m(_ _)m var i=0; while(i<10){ var i=0; while(i<10){ alert(i); i++; } i++; }

  • javascriptの基礎的な質問です。

    ご覧いただきありがとうございます。 javascript コンソールで var D; D.d="T"; console.log(D.d) とうつと、 TypeError: Cannot set property 'd' of undefined と出てしまいます。 これとは別に、 var D={d:"T"}; console.log(D.d) はうまくいくのですが、 前者はどこが定義として不十分なのでしょうか。 よろしくお願いします。

  • JavaScriptの問題に関して教えてください。

    下記問題の解き方および答えが考えても全然分からず、お教えいただきたいです。お願いいたします。 以下のプログラムを読んで、どういったプログラムなのかを説明してください。 let change = 0; let change_sum = 0; const data = [ 31, 41, 59, 26, 53, 58, 97, 93, 23, 84 ]; console.log("並べ替える前"); for (let i = 0; i < data.length; i++) { console.log(data[i] + " "); }// for console.log("\n"); console.log("***********************************"); console.log(""); for (let i = 0; i < data.length - 1; i++) { for (let j = i + 1; j < data.length; j++) { if (data[i] > data[j]) { let a = data[i]; data[i] = data[j]; data[j] = a; change++; }// if }// for(内側1) console.log((i + 1) + "回目"); console.log(`${change}回`); for (let k = 0; k < data.length; k++) { process.stdout.write(data[k] + " "); }// for(内側2) console.log("\n"); change_sum += change; change = 0; }// for(外側) //最終結果の表示 console.log("***********************************"); console.log(""); console.log(`${change_sum}回`); console.log("最終結果"); for (let i = 0; i < data.length; i++) { process.stdout.write(data[i] + " "); }// for console.log("");

  • for文の中の余計な(?)括弧の意味を教えて下さい

    ・下記のようなコードがありました for(var j = 0;j < 8;++j){  {   console.log(j);  } } ・下記とは何が異なるのでしょうか? for(var j = 0;j < 8;++j){  console.log(j); } ・JavaScript(ECMAScript)では、括弧を幾つ設定しても良いのでしょうか? for(var j = 0;j < 8;++j){  {{{{{{{{{{{ console.log(j);  }}}}}}}}}}} }

  • javascript if文

    javascript if文 まずソースコードなのですが var num; var sign; num = 20; (1)sign = num >= 0 ? '正' : '負'; console.log( num + "は" + sign ); (2)if(num >= 0){ console.log( num + "は" + sign ); } (1)と(2)は同じ意味なのですか?(1)のやり方はあまり見かけないのですが用途としてはどのような時に使うのですか? 馬鹿な質問でスミマセン。

  • javascriptのクロージャが理解できずに苦しんでいます。

    javascriptのクロージャが理解できずに苦しんでいます。 下記のようなコードをよく見るのですが、a()とfuncA()()が等価のようなのですが 実行するとa()の場合のみ変数の値が維持されます。 a()とfuncA()()の違いを理解したいと思っています。 どなたかどうぞよろしくお願い致します。 またクロージャのわかりやすい解説サイトなどご存知の方いらっしゃいましたら 合わせてよろしくお願い致します。 function funcA() { var i = 10; return function() { i++; alert(i); }; }; var a = funcA(); console.log(a() === funcA()())//true funcA()();//11 funcA()();//11 funcA()();//11 a();//11 a();//12 a();//13

  • JavaScript の引数について教えて下さい。

    ある教材を参考に以下の★SCRIPTを記述するとconsoleで以下の画像のような結果になるはずなのですが★CONSOLEのようにしか表示されません。 何度か見直したのですがタイプミス等はないようです。 下の★SCRIPTの記述に何か間違いがあるのでしょうか? 自分ではわかりません。 また今は「引数」の項目について学習しています。 ここに出てくる「$」にはどういう意味があるのでしょうか? 超初心者です。わかる方いらっしゃいましたら宜しくお願いします。 ★SCRIPT <script> 'use strict'; function showAd(message){ console.log('------------------'); console.log('------- ${message} ------'); console.log('------------------'); } showAd('Header AD'); console.log('Tom is great!'); console.log('Bob is great!'); showAD('AD'); console.log('Steve is great!'); console.log('Rich is great!'); showAD('Footer AD'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ★CONSOLE ------------------ javascript.html:13 ------- ${message} ------ javascript.html:14 ------------------ javascript.html:21 Tom is great! javascript.html:22 Bob is great! javascript.html:12 ------------------ javascript.html:13 ------- ${message} ------ javascript.html:14 ------------------ javascript.html:26 Steve is great! javascript.html:27 Rich is great! javascript.html:12 ------------------ javascript.html:13 ------- ${message} ------ javascript.html:14 ------------------