元スレ+ JavaScript の質問用スレッド vol.96 +
JavaScript覧 / PC版 /みんなの評価 :
552 = :
>>548-549
trimが使えるのは勉強になりました
splitとtrimでやりたいとおもいます
555 = 547 :
>>552
なんでそんなに正規表現を嫌う
556 = :
正規表現なんて複雑なだけだし使わなくていいならそれに越したことはない
ってのが世間一般の見解です
557 = :
正規表現は避けては通れない道
反復学習ソフト付き 正規表現書き方ドリルって本を買おうか悩んでるw
558 = :
世間一般の人はそもそも正規表現なんて知らないだろ。
プログラマとしては覚えておいて損はない。
559 = :
覚えるのと使うのでは別問題だけどな
560 = :
>>555
何でも正規表現で解決するというのがイヤなだけです
正規表現はいつもエディタで触ってますが
562 = :
ナンデモ正規表現で解決できるマスターにオレはなりたいよ
563 = :
例えばですが
var a = "abcde";
からcdeだけ取りたい場合に
a.replace(/ab/, "");
なんてするのがイヤなんですよ
a.substring(2);
でいいじゃないですか
564 = 547 :
それを正規表現でやろうとは思わんだろう
565 = :
function a(){
for(var i=0;i<10;i++){}
}
function a(){
var i=0;
for(i=0;i<10;i++){}
}
この二つの違いって何ですか?
566 = :
var文を書く場所が違うだけ
568 = :
>>565
前者のほうがプロの香りがしてcool。
…と信じてる自称エキスパートがたくさんいるよw
569 = :
前者も後者もfor以外からiも参照できるし違いはない思うんだけど
572 = 547 :
何も書かない、って意味じゃないかと
574 = :
ループが2回、3回とある場合はどれにする?
function a(){
for(var i=0;i<10;i++){}
for(var i=0;i<20;i++){}
}
function a(){
for(var i=0;i<10;i++){}
for(i=0;i<20;i++){}
}
function a(){
var i;
for(i=0;i<10;i++){}
for(i=0;i<20;i++){}
}
function a(){
for(var i=0;i<10;i++){}
for(var j=0;j<20;j++){}
}
575 = :
巻き上げ(Hoisting)の問題があるから、変数宣言はどんなものでも関数スコープの先頭にをまとめておく
という文化もある
そうすると
function a() {
var i;
for(i = 0; i < 10; i++) {
// 中身
}
}
みたいなコードを書くようになる
hoistingってなんぞ、という人は
http://bonsaiden.github.com/JavaScript-Garden/ja/#function.scopes
の「巻き上げ」のところを読んでおくといい
580 = :
for外で参照するんなら定義も外で、しないのならfor文のとこでってしてる。
一緒なんだけど、ブロックスコープがないことを知らない人にでも違和感がないようにと。
デメリットもなさそうだし。
581 = :
>>580
一個や二個ならいいけどそれ以上だと読みにくいでしょ
582 = :
んで答え分かる奴は1人もいないと
583 = :
ちなみにこの問題、今日のクックパッドのトイレで出題されている問題らしい
584 = :
答えって何やねん
585 = :
ごめん今日じゃなくて先週でてた問題だった
586 = :
>>580 でFA
587 = :
他の言語だと、重複宣言は大抵エラーになるから、
JavaScript でも重複は避ける習慣にしてる。
588 = :
入っとくけど作法の違いを聞いてる質問じゃないからね
589 = :
言っとくけど作法と習慣は違うからね
590 = :
var a;
a =1;
var a;
ってたまにやるけどやめたほうがいいんですか?
変数aを空っぽにするためにたまーにやるのですが
591 = :
>>514
ありがとうございます、動きました!
確かに古いんですが分かりやすく、これでほとんど終わりなので
最後までやってみます。
ちなみに、入門書にはダブルクオートで囲ってないんですが
誤植でしょうか?
今までもdocument~は囲ってなかったと思うんですが。
なぜダブルクオートで囲わなければいけないのか教えてくれると助かります。
593 = :
配列を破壊的にフィルターして削る方法はないですか?
非破壊的な方法しか見つからないのですが破壊的な方法を伝授してください
594 = :
>>591
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/intro/sgmltut.html#h-3.2.2
「属性の値を引用符で囲わなくてよいケースもある。」の段落を参照
今回は空白やアスタリスク、イコールが含まれているので、クオートで囲まねばならない
514の後半で指摘した部分について
・<script type="text/javascript">
・name属性の代わりにid属性を付けてdocument.getElementById('myimg').src
・setTimeoutの第一引数は文字列を渡すと、その度に再パースが必要になる(無駄)
関数オブジェクトをそのまま渡してsetTimeout(changeimage, 1000)とすべし
特に<script language="javascript">と書いている本・サイトはそれだけで古いと判断していい
596 = :
>>593
splice で自作。
597 = :
oh...
598 = :
letが使えれば>>580とかのは解決するんだけどな
現状使えない(使えても限られてる)し>>575-576のがベスト
>>590
それ空になってない
>>593
[].filter(function (value,index,thisArray) {
});
こんな感じで引数くるからthisArray書き換えれば良いよ
599 = :
>>598
それはコピーを生成してる
600 = :
>>594
よくわかりました、本当に参考になります。
ありがとうございます。
本も最近のものをもう1冊買ってやってみようと思います。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.99 + (1001) - [97%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.97 + (1001) - [97%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.94 + (1001) - [97%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2011/12/10 18:31
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/11/15 20:32
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/10/26 4:18
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.126 + (952) - [95%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [95%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.136 + (1001) - [95%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.85 + (1001) - [95%] - 2011/4/25 21:32
トップメニューへ / →のくす牧場書庫について