のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,850人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレJavaScript の質問用スレッド vol.132

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    402 : Name_Not - 2017/03/05(日) 04:20:24.24 ID:???.net (+9,-30,-99)
    button_element.addEventListener( 'click', function(){
     var list = document.getElementsByTagName('a');
     for( var key in list )
      if( list[key].href === 'http://abcd.com/' )
       list[key].href = 'http://efgh.com/';
    }, false);

    これだけで終わらんか
    403 : Name_Not - 2017/03/05(日) 08:27:53.95 ID:???.net (+36,-29,-51)
    setTimeoutの使い方について教えてください

    (画面を止めない)sleepが欲しい
    xhrの通信待ちで画面を止めたくない

    上記以外でsetTimeoutを使いたい・使うべき場面はどんなのがあるでしょうか
    404 : Name_Not - 2017/03/05(日) 10:53:20.08 ID:???.net (+7,+29,-33)
    >>401
    そうじゃない。
    IDをつけた要素がグローバルになるのは
    正しい仕様だって言う話をしてる
    405 : Name_Not - 2017/03/05(日) 10:57:42.47 ID:???.net (+4,-30,-114)
    >>402
    links使ったほうが短くてすむ。これも正しい仕様だ
    あとofなw

    buttonElement.addEventListener('click', function() {
     var list = document.links;
     for (let key of list)
      if (list[key].href === 'http://abcd.com/')
       list[key].href = 'http://efgh.com/';
    }, false);
    406 : Name_Not - 2017/03/05(日) 10:59:09.49 ID:???.net (+61,+28,-2)
    >>403
    一定時間ごとに何か処理したい
    407 : Name_Not - 2017/03/05(日) 11:53:12.99 ID:???.net (+42,+0,-291)
    >>404
    仕様としては正しいが、問題が複数あるので普通は使わない

    ・HTML Living Standardを実装していない言語では互換性が取れなくなるのでコードの可搬性が下がる(DOMはJavaScriptだけの仕様ではない)
    ・変数として使用できない名前がid属性値に存在した場合はグローバル変数化されない
    ・既存のグローバル変数と名前が衝突する為、グローバル変数を定義する度に全てのid属性値を照らし合わせなければならない。新たなid属性値を作る度に全てのJavaScriptコード上で定義されているグローバル変数名を確認しなければならない。

    特に3つ目の欠点が非常に痛い
    デザイナとコーダが別々ならグローバル変数名を共有しなければやっていけない
    自分一人で全てを管理しているなら自分のスタイルを貫き通せるならいいかもしれないが、複数人でコードを共有するならありえない選択だな
    408 : Name_Not - 2017/03/05(日) 12:03:39.85 ID:???.net (+0,-30,-39)
    >>396
    手順を追ってやるしかなんじゃないかね

    1. [1,2,3,4,5] の配列に変換
    2. Math.max.apply(null, [0,1,2,3,4,5].filter((v,i) => i % 2 === 0));
    409 : Name_Not - 2017/03/05(日) 12:08:49.98 ID:???.net (+50,-30,-62)
    >>408
    > 1. [1,2,3,4,5] の配列に変換
    '12,34 hoge 45,56 foo 8,90'.match(/\d+,\d/g).reduce((n,s) => { return Array.prototype.push.apply(n, s.split(',')), n}, []);
    410 : Name_Not - 2017/03/05(日) 12:33:09.72 ID:???.net (+35,-27,-7)
    >>409
    ひどいコードだな。
    reduce使うことが目的になってる感があるw
    411 : Name_Not - 2017/03/05(日) 12:37:05.14 ID:???.net (+69,+29,-3)
    >>410
    あなたならどう書きますか?
    412 : Name_Not - 2017/03/05(日) 12:47:18.63 ID:???.net (+82,-30,-112)
    >>411
    const text = "100,90 aiu 90,50 abc 110,111 iroha 123,456";
    const values = text.match(/\d+/g);
    const list = [[], []];
    values.forEach((v, i) => list[i % 2].push(v));
    const max = list.map(item => Math.max(...item));

    正規表現のところは頑張れ
    413 : Name_Not - 2017/03/05(日) 12:54:36.80 ID:???.net (+4,-29,-84)
    正規表現がミスってたので /\d+,\d+/g に訂正

    ぶっちゃけ、>>409のコードは俺自身も好きではない
    最近は関数型コードこそが美しいという風潮があるようなのでreduceを使ったが、俺が書くときはArray.prototype系で配列を回すことはほとんどない
    「スコープを短くしろ」と文句言われるのが煩わしいだけ
    414 : Name_Not - 2017/03/05(日) 12:56:11.14 ID:???.net (-1,-29,-8)
    reduceで計算した結果以外を返すのは筋が悪い
    そんなもんにreduce使うなレベル
    415 : Name_Not - 2017/03/05(日) 13:13:51.60 ID:???.net (+3,-30,-79)
    window.onload = function() {
    document.body.innerHTML = document.body.innerHTML.replace(/あいうえお/g,'かきくけこ');
    };

    こういうbody全体のテキストからタグからjavascriptとか関係なく一括で置換するコードって
    クリックで動作出来るように可能?
    416 : Name_Not - 2017/03/05(日) 13:15:41.50 ID:???.net (+33,+15,-2)
    そう可能?
    417 : Name_Not - 2017/03/05(日) 13:15:57.34 ID:???.net (+29,+11,-2)
    どう可能?
    419 : Name_Not - 2017/03/05(日) 16:54:21.79 ID:???.net (+100,+29,-10)
    >>412
    >>398の要件はどこにいった?
    ぶっちゃけ、>>409が酷くて>>412が良いとする理由がさっぱり分からんのだが
    421 : Name_Not - 2017/03/05(日) 17:25:38.58 ID:???.net (+104,+29,-43)
    >>419

    > >>398の要件はどこにいった?



    > 求められる文字列フォーマットが分からなければ、背景も不明なので現時点で最適解が何なのかは俺にも分からん
    422 : Name_Not - 2017/03/05(日) 17:45:10.67 ID:???.net (+4,-30,-54)
    >>390
    俺ならこう書くな、読みやすさは大事

    let tmp,
     reg = /(\d+),(\d+)/g,
     str = '12,34 56,78 90,10'',
     max = [-Infinity, -Infinity];
    while(tmp = reg.exec(str)){
     if(max[0] < +tmp[1]) max[0] = +tmp[1];
     if(max[1] < +tmp[2]) max[1] = +tmp[2];
    }
    423 : Name_Not - 2017/03/05(日) 17:55:23.55 ID:???.net (+91,+29,-7)
    空行、空白も入れないレベルで読みやすさ(笑)
    424 : Name_Not - 2017/03/05(日) 17:56:55.56 ID:???.net (-1,-29,-14)
    parseIntしろよデコ助と思ってしまう
    425 : Name_Not - 2017/03/05(日) 17:59:38.42 ID:???.net (+110,+29,-7)
    >>423
    おい待て、どこに空白や空行入れる部分があるんだよ?
    426 : Name_Not - 2017/03/05(日) 18:04:34.19 ID:???.net (+196,-30,-55)
    >>425

    let tmp,

     reg = /(\d+),(\d+)/g,

     str = '12,34 56,78 90,10'',

     max = [ -Infinity , -Infinity ];

    while ( tmp = reg.exec( str ) )
    {

     if ( max[ 0 ] < + tmp[ 1 ] ) max[ 0 ] = + tmp[ 1 ];

     if ( max[ 1 ] < + tmp[ 2 ] ) max[ 1 ] = + tmp[ 2 ];

    }
    427 : Name_Not - 2017/03/05(日) 18:06:17.85 ID:???.net (+72,+29,-7)
    >>425
    お前の流派次第だな
    どこのスタイルを採用してる?
    428 : Name_Not - 2017/03/05(日) 18:10:38.72 ID:???.net (+64,+29,-8)
    >>426
    目が疲れてる時は若干読みやすいのがむかつくw
    429 : Name_Not - 2017/03/05(日) 18:16:04.45 ID:???.net (+102,+29,-34)
    >>426
    スクロール面倒だから無駄な空行やめろ
    あと括弧前後の空白もカーソル移動に無駄な労力がいるから邪魔
    画面の情報密度下げんな
    430 : Name_Not - 2017/03/05(日) 18:21:47.96 ID:???.net (+57,+29,-25)
    見やすさは人によるだろ…職場でちゃんとルールを決めてみんなで守るべき
    一人で書くならどう書いても構わん
    431 : Name_Not - 2017/03/05(日) 18:23:02.69 ID:???.net (+107,+29,-6)
    >>429
    もしかして←→キーだけで地道にキャレット移動しちゃう系?
    432 : Name_Not - 2017/03/05(日) 18:49:18.05 ID:???.net (+75,+29,-45)
    >>431
    前後スペース空けていたら単語移動したとき必ずスペースの後ろに止まるわけだが、
    お前はわざわざバックスペース余分に打ってスペースから削除して書き直すのか?
    で、書き直したあとまた余分なスペース打つのか?
    馬鹿らしくね?
    433 : Name_Not - 2017/03/05(日) 18:51:50.99 ID:???.net (+131,+29,-41)
    わざわざ毎回整形してるの?
    最初にエディタに登録して、一段落付いたら全体選択→整形ってやらないの?
    434 : Name_Not - 2017/03/05(日) 18:56:36.86 ID:???.net (+106,+29,-28)
    >>426の状態だと読むのも編集するのも非効率だって話だが、あえてそんな状態に整形する>>433は間違いなく馬鹿
    435 : Name_Not - 2017/03/05(日) 19:00:38.22 ID:???.net (+88,+29,-13)
    >>434
    >>433だけど別に>>426は推奨してないぞ。ってか>>426はネタだろう
    どんだけ文盲やねんw
    436 : Name_Not - 2017/03/05(日) 19:11:49.68 ID:???.net (+80,-29,-14)
    >>435
    普通にThree.jsで使われてるルールだけど?
    http://github.com/mrdoob/three.js/blob/master/src/utils.js
    437 : Name_Not - 2017/03/05(日) 19:16:54.91 ID:???.net (+63,+29,-4)
    >>436
    実際使ってる人いるのか、すげぇ・・・
    でもそれ、例外でしょ
    438 : Name_Not - 2017/03/05(日) 19:28:51.93 ID:???.net (-6,-29,+0)
    何故かVB6のコード思いだした。
    439 : Name_Not - 2017/03/05(日) 19:29:21.18 ID:???.net (+73,+29,-66)
    あのねぇ……
    これよく中級者くらいが一度はやってみることだけど
    行間ってのはエディタ側で調整すりゃいいのよ
    HTMLで表示する時もそう

    >>436,437
    それはThree.jsで使われているルールではない
    あくまで行間設定のできないGitHubに出す時に、整形をかけてるだけ
    勘違いするな
    440 : Name_Not - 2017/03/05(日) 19:33:22.58 ID:???.net (+55,+27,-21)
    > あくまで行間設定のできないGitHubに出す時に、整形をかけてるだけ

    なんのためか説明してみてくれる?
    441 : Name_Not - 2017/03/05(日) 19:37:34.18 ID:???.net (+57,+29,-10)
    なんで「何のためかわからないので教えてください」って素直に聞けないんだろう
    442 : Name_Not - 2017/03/05(日) 20:19:56.98 ID:???.net (+63,+30,-71)
    何のためって、その方が読みやすいと思ったからとしか考えられないが、他に何かあるか?
    確かにライブラリの関数のソースを見たいと思って見に来る人に取っては見やすいかもしれない
    大前提として、細かく分割されているのと、通しては眺めないという事があるが
    import文なんかは詰めて書いてあるしな
    443 : Name_Not - 2017/03/05(日) 21:36:39.91 ID:???.net (-2,-30,-11)
    script type="text/javascript" id="hoge">

    javascriptってこういう風にid付けても効果あんの?
    444 : Name_Not - 2017/03/05(日) 22:20:35.90 ID:???.net (+96,+29,-19)
    >>421
    最適解が分からんのなら他人のコードにケチつけるなよ
    445 : Name_Not - 2017/03/05(日) 22:45:07.33 ID:???.net (+4,-27,-15)
    リロードせずindex.htmlを再読み込みするのってどうやるの
    446 : Name_Not - 2017/03/05(日) 22:49:31.12 ID:???.net (-3,-26,-14)
    ajaxでぐぐれ
    447 : Name_Not - 2017/03/05(日) 22:49:35.17 ID:???.net (-1,-29,-10)
    >>445
    XMLHttpRequest, fetch
    448 : Name_Not - 2017/03/05(日) 22:50:23.96 ID:???.net (+53,+22,+1)
    >>444
    正論
    449 : Name_Not - 2017/03/06(月) 00:07:21.16 ID:???.net (+1,-30,-28)
    var a = [ 1.jpg, 2.jpg, 3.jpg,・・・10.jpg ]
    というリストを
    a.jpg, b.jpg, c.jpg・・・の画像に置換しても画面上に反映されず
    そのまま数字画像が読み込まれるんだけど
    450 : Name_Not - 2017/03/06(月) 00:12:48.28 ID:???.net (+31,+5,-13)
    >>449
    再現可能なコードを出せ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について