元スレ+ JavaScript の質問用スレッド vol.104 +
JavaScript覧 / PC版 /みんなの評価 :
651 = :
コンパイラ言語使ってるとloop.lengthと中についつい書いてしまうな
まぁパフォーマンスとか微々たるもんだけど
652 = :
>>648
ここJavaScriptのスレだし、他の言語の事情なんぞ知った事じゃない。
653 = :
>>650
一番わかりやすいんじゃないかな?違いが
655 = :
つまりどういうことだってばよ
656 = :
イザナミだ
657 = :
それ、変数じゃなくてスコープの問題なんじゃ…
662 = :
もう古いとか言われることもあるが、このforループの書き方は鉄板だよな
for(i=0;i<n;i++) {...}
i=0~(n-1)でn回実行、i=nになってループから出てくる。
i=1から始めてるのとか、i<=nとかの条件式を見ると、
これ何回回るんだ?とかちょっと考え込む。
663 = :
何を言ってるんだ
664 = :
どういうのが新しい書き方なんだ
665 = :
イテレータ使えってことじゃないの?w
JSだとちょっと使いにくいがw
666 = :
イテレーター使えってまさか言わないよなと思ってたが
670 = :
URLデコードすればいいんじゃね
それ以上は何も言えん
671 = :
広告の読み込み後に実行するよう書けばいいよ
その前に広告を消しても大丈夫か規約を確認しとけ
675 = :
>>673
そうか、一度代入してるんだからそれを使い続ければいいんですよね
気づきませんでした
ありがとうございます!
書き方のアドバイスも感謝です!
677 = :
うぜぇ
683 = :
すみません、サイ本の第6版の日本語訳で勉強しているのですが、
何度読み直しても理解できないところがあるので
教えて頂けないでしょうか?
分からないのはp.268-269 9.9.1 名前空間としてのオブジェクトの部分です
このページには、名前が衝突しないようにするために
グローバル変数をひとつだけ定義して、
その変数のプロパティたちに他の値を格納する方法が紹介されています
で、p.269に
var sets = com.davidflanagan.collections.sets;
とあって、名前空間が長いときはこうやって短くできる的なことが書いてあるんですが、
これはコードの他の部分で気付かずにまた
var sets = hoge;
ってやったら名前が衝突しないようにした工夫が台無しになりますよね?
だったら短くしないようがいいじゃん、って思うのですが、
私は何か運用の仕方とかで勘違いしてるんでしょうか?
684 = :
>>683
javascriptの変数のスコープを理解してるかな?
ひとつの巨大な関数スコープ内ですべてをやろうとしない限り、問題にならないだろう。
685 = :
>>684
ありがとうございます
>>683のページに書かれていることは参考にしなくても
ローカル変数だけ使えば問題ない、ということなんでしょうか?
686 = :
>>685
var sets = com.davidflanagan.collections.sets が問題無いという意味。
なぜなら、スコープ内でvar sets = com.davidflanagan.collections.setsや
var sets = hogeをやる限りは、他のスコープにその影響は及ばないから。
setsをcom.davidflanagan.collections.setsとして使いたい場合は、
スコープ内でsetsを他の値に変更しないように気をつければよい。
スコープを適度な大きさに保つ限りそれで問題無い。
687 = :
>>686
なるほど!
なんか分かってきたような気がしてきました。
ちょっと色々と試してみます。
どうもありがとうございます。
689 = :
google.maps.api v3を使ってて、
対応するsubmitボタンを押すとgoogle.maps.event.trigger(marker,'click')で対応するマーカーにクリックイベントを送るようにしたいんですが
どうすればいいのでしょうか?
↓のようにしたのですが出来ません。
・javascript
function set_value(s_val){
document.frmMvPost.onbtn.value = s_val;
}
function View(){
var req_id = document.frmMvPost.onbtn.value;
var tmp=0;
for(var i in markersArray){
if(markersArray[i].title == req_id){
tmp = markersArray[i];
}
}
google.maps.event.trigger(tmp,'click');
}
・html
<form name="frmMvPost" action="" method="post" onsubmit="return View()">
<input type="submit" name="btn" value="表示" onClick="set_value('1')">
<input type="hidden" name="onbtn">
</form>
690 = :
window.xxx = {
get aaa() {
},
bbb: function() {
},
};
getの書き方を初めてみたんですがどういった違いがあるのでしょうか?
691 = :
>>690
http://developer.mozilla.org/ja/docs/JavaScript/Guide/Creating_New_Objects/Defining_Getters_and_Setters
692 :
>>688
うーん、ちがう
クォートのエスケープは超基礎的というか書き方の話なんで
できればググってよそで学んで欲しいんだが
どーーーーーーしても文字列で渡したいのなら、外側をシングル中をダブルにするか
全部シングルで中はエスケープしてくだされ
そんなことより、setTimeoutやsetIntervalは第一引数に関数を受け取れるんだから
JavaScriptのコードをAjaxで文字列として受け取った、とかいう場合以外は
それをわざわざ文字列にする必要はないっつーはなしです
694 = :
>>691
ありがとう!
695 = :
あれは内部でevalしてんのか、勉強になるわ
696 = :
厳密には eval と違うけど。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.124 + (1001) - [97%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
トップメニューへ / →のくす牧場書庫について