[過去ログ]
+ JavaScript の質問用スレッド vol.139 + (1002レス)
+ JavaScript の質問用スレッド vol.139 + http://mevius.5ch.net/test/read.cgi/hp/1555750241/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
717: Name_Not_Found [sage] 2019/05/10(金) 14:16:11.36 ID:??? >>714 下は class="class foo bar" とか書いてある時に 動かないので同等のコードになっていない http://mevius.5ch.net/test/read.cgi/hp/1555750241/717
718: Name_Not_Found [sage] 2019/05/10(金) 14:16:55.60 ID:??? >>715 querySelectorAll() に forEach が必ずあるとは限らない http://mevius.5ch.net/test/read.cgi/hp/1555750241/718
719: Name_Not_Found [sage] 2019/05/10(金) 14:17:52.55 ID:??? >>714 itemが後から増えるかどうかにもよる どっちがいいかは、速度とメンテナンス性、何を重視するかによる http://mevius.5ch.net/test/read.cgi/hp/1555750241/719
720: Name_Not_Found [sage] 2019/05/10(金) 14:20:40.09 ID:??? >>714 $('.class').on('click', function() { }); $(document).on('click', '.class', function() { }); itemがいっぱいあるときは後者が速度とメモリ効率が良い itemが増減する時は後者がメンテナンス性が良い 後者は少しタイプ数が多い。その程度。 一般的には後者がいい jQueryを使わない場合は知らん http://mevius.5ch.net/test/read.cgi/hp/1555750241/720
721: Name_Not_Found [sage] 2019/05/10(金) 15:42:52.66 ID:??? filter関数について function isBigEnough(value) { return value >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); というコードがあるとき(上記はMDNのサンプルコードです) var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);の行を var filtered = [12, 5, 8, 130, 44].filter(isBigEnough());としたらエラーが出てしまいました 関数を呼び出す時は 関数名() で呼び出すのではないのですか? http://mevius.5ch.net/test/read.cgi/hp/1555750241/721
722: Name_Not_Found [sage] 2019/05/10(金) 15:51:28.70 ID:??? ()を付けると即実行されて、その戻り値がfilterに渡されるからエラーになる 関数を渡すには関数名だけで http://mevius.5ch.net/test/read.cgi/hp/1555750241/722
723: Name_Not_Found [sage] 2019/05/10(金) 16:15:13.31 ID:??? 実際はしらんが>>714の上はプロセスがいっぱい起動してるようなイメージがある リソース的にはちょっとなあという感じ >>717の指摘通り複数classを適用してると 判定部分が複雑になって毎回クリックのたびにそこを通ると思うと ちょっとなあという感じ まあどちらにしても問題になるような次元じゃないと思うけどね http://mevius.5ch.net/test/read.cgi/hp/1555750241/723
724: Name_Not_Found [sage] 2019/05/10(金) 18:45:31.88 ID:??? >>718 PolyfillでOK http://mevius.5ch.net/test/read.cgi/hp/1555750241/724
725: Name_Not_Found [sage] 2019/05/10(金) 18:48:37.84 ID:??? >722 ありがとうございます 重ねて質問すみません >()を付けると即実行されて、 というのはどういうことでしょうか? >filter() は、与えられた callback 関数を配列の各要素に対して一度ずつ呼び出し、 >callback が真と評価される値を返したすべての要素からなる新しい配列を生成します。(MDNから) isBigEnough() と、()を付けると filter()がcallback関数を呼び出す前に実行されてしまうんですか? ググっていて下記サイトを見つけたのですが、その中で JavaScriptの「コールバック関数」とは一体なんなのか https://sbfl.net/blog/2019/02/08/javascript-callback-func/ >関数を値として扱うには後ろのカッコをつけずに書きます。 とあるのですが、isBigEnoughにカッコを付けてはいけないのも同じ理由でしょうか? 変な質問ですみません たぶん、コールバック関数が何なのか解っていないんだと思います 「filter()の引数にはコールバック関数を指定する、コールバック関数なので()を付けてはいけない」 くらいの認識でも良いんでしょうか?この解釈は間違っていますか? http://mevius.5ch.net/test/read.cgi/hp/1555750241/725
726: Name_Not_Found [sage] 2019/05/10(金) 18:49:30.10 ID:??? >>717 classListに変更すれば良い http://mevius.5ch.net/test/read.cgi/hp/1555750241/726
727: Name_Not_Found [sage] 2019/05/10(金) 18:55:54.17 ID:??? >>725 ()を付ければ、呼び出される https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Functions#Calling_functions http://mevius.5ch.net/test/read.cgi/hp/1555750241/727
728: Name_Not_Found [sage] 2019/05/10(金) 19:13:12.35 ID:??? >>718 そんなん[...querySelectorAll()].forEachでええやろ http://mevius.5ch.net/test/read.cgi/hp/1555750241/728
729: Name_Not_Found [sage] 2019/05/10(金) 19:14:13.89 ID:??? まちがえた[...document.querySelectorAll()].forEachだった http://mevius.5ch.net/test/read.cgi/hp/1555750241/729
730: Name_Not_Found [sage] 2019/05/10(金) 19:36:32.48 ID:??? >>725 > たぶん、コールバック関数が何なのか解っていないんだと思います 少なくともJavascriptにおいては、ただの関数です。 var tadanokansuu = function() { console.log('hello, world!'); }; ただの関数を呼び出すとき、以下のように()つけて呼び出しますね? tadanokansuu(); //=> hello, world! 一方、世の中には以下のような、引数として関数を取る関数があります。 var kansuuwotorukansuu = function(nanikanokansuu) { nanikanokansuu(); }; このような、引数として関数を取る関数に、引数として渡す関数、これを「コールバック関数」と呼びます。 kansuuwotorukansuu(tadanokansuu); //=> hello, world! ↑の例ではtadanokansuuがコールバック関数『として』kansuuwotorukansuuに渡されています。 このように、「コールバック関数」という特殊な関数があるのではなく、引数としてコールバック(関数)を取る関数kansuuwotorukansuuがある、kansuuwotorukansuuに引数としてtadanokansuuをコールバック(関数)として渡す、などと考えればよいと思います。 http://mevius.5ch.net/test/read.cgi/hp/1555750241/730
731: Name_Not_Found [sage] 2019/05/10(金) 20:02:55.90 ID:??? >>718の話自分にはよくわからないのですがどういうことですか? 見つからなかったら空の配列をまわそうとしてなんかエラーが出たりするってことですか? http://mevius.5ch.net/test/read.cgi/hp/1555750241/731
732: Name_Not_Found [sage] 2019/05/10(金) 20:08:02.37 ID:??? >>731 https://developer.mozilla.org/ja/docs/Web/API/NodeList/forEach#Browser_Compatibility >>724 http://mevius.5ch.net/test/read.cgi/hp/1555750241/732
733: Name_Not_Found [sage] 2019/05/10(金) 20:30:26.20 ID:??? >>732 ああ、対応してないブラウザ(IE)があるってことですね ありがとうございます http://mevius.5ch.net/test/read.cgi/hp/1555750241/733
734: Name_Not_Found [sage] 2019/05/10(金) 23:00:31.89 ID:??? そういう細かいこと考えるのが嫌だからjQueryを使う http://mevius.5ch.net/test/read.cgi/hp/1555750241/734
735: Name_Not_Found [sage] 2019/05/10(金) 23:44:12.41 ID:??? もうそんな時代も終わるだろ っていいたいところだがIEがなかなかしぶとい IE11ならだいたいのネイティブコード動いたとおもったが forEachはだめなのか?まだまだ世話のかかる厄介なやつだな http://mevius.5ch.net/test/read.cgi/hp/1555750241/735
736: Name_Not_Found [sage] 2019/05/10(金) 23:51:45.42 ID:??? edgeにIEモードってことはMSもそろそろIE畳むつもりはありそうだが http://mevius.5ch.net/test/read.cgi/hp/1555750241/736
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 266 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s