[過去ログ] + JavaScript の質問用スレッド vol.139 + (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
730: 2019/05/10(金)19:36 ID:??? AAS
>>725
> たぶん、コールバック関数が何なのか解っていないんだと思います
少なくともJavascriptにおいては、ただの関数です。
var tadanokansuu = function() {
console.log('hello, world!');
};
ただの関数を呼び出すとき、以下のように()つけて呼び出しますね?
tadanokansuu();
//=> hello, world!
一方、世の中には以下のような、引数として関数を取る関数があります。
省8
731(1): 2019/05/10(金)20:02 ID:??? AAS
>>718の話自分にはよくわからないのですがどういうことですか?
見つからなかったら空の配列をまわそうとしてなんかエラーが出たりするってことですか?
732(1): 2019/05/10(金)20:08 ID:??? AAS
>>731
外部リンク:developer.mozilla.org
>>724
733: 2019/05/10(金)20:30 ID:??? AAS
>>732
ああ、対応してないブラウザ(IE)があるってことですね
ありがとうございます
734: 2019/05/10(金)23:00 ID:??? AAS
そういう細かいこと考えるのが嫌だからjQueryを使う
735: 2019/05/10(金)23:44 ID:??? AAS
もうそんな時代も終わるだろ
っていいたいところだがIEがなかなかしぶとい
IE11ならだいたいのネイティブコード動いたとおもったが
forEachはだめなのか?まだまだ世話のかかる厄介なやつだな
736: 2019/05/10(金)23:51 ID:??? AAS
edgeにIEモードってことはMSもそろそろIE畳むつもりはありそうだが
737(1): 2019/05/11(土)00:14 ID:??? AAS
JSの文字列置き換えって正規表現によるreplaceとsplit+joinしか選択肢ないんですか?
どちらも(;´゚д゚`)エエーって感じなんだけど
738: 2019/05/11(土)00:19 ID:??? AAS
外部リンク:developer.mozilla.org
739(1): 2019/05/11(土)00:19 ID:??? AAS
>>737
他に例えば?
740: 2019/05/11(土)01:15 ID:??? AAS
>>739
正規表現である必要がないので
"2019-01-01".replaceAll("-", "/")
こんなんでいいと思うんです
741: 2019/05/11(土)05:36 ID:??? AAS
Ruby では複数置換でも、ブロックを渡して、変形できる。
$& はマッチした部分
puts "1a23bc4d".gsub( /\d+/ ) { '<' + $& + '>' }
#=> <1>a<23>bc<4>d
JS でも同様に、replace に、callback 関数を渡して、変形できる
function replacer( matched ) { return '<' + matched + '>' }
var str = "1a23bc4d".replace( /\d+/g , replacer );
742: 2019/05/11(土)05:51 ID:??? AAS
Ruby のNokogiri とか、Selenium WebDriver などは、
要素の発見を、1つだけのものは、find_one とか、
複数みつかるものは、find_all など、関数名を分けている
find_oneで、1つなら該当する要素を返すが、0個なら、nil を返すとか、
find_allは、配列を返すとか、ややこしい
jQuery だけは、すべて配列で返すから、0, 1, 複数のすべてで、同じ書き方ができる!
だから、jQueryを使ってないと、バグだらけで、開発費が何倍も掛かる。
リリースしてからも、しょっちゅうバグるから、やり直しばっかり!
机上デバッグでも、手間が掛かる。
ごちゃごちゃと何をやっているのか、説明できない
743(1): 2019/05/11(土)07:09 ID:??? AAS
jQueryはJavaScriptのラッパーだろ
やってることはその域を超えない
置換にしてもJavaScript同様無駄の多い処理をしてるはずだ
744: 2019/05/11(土)07:23 ID:??? AAS
>>743
それを言ったら、高級言語はすべてアセンブラのラッパーだ
ラッパーは素晴らしい。冗長で分かりづらいコードを
わかりやすくしてくれる。
jQueryはJavaScriptのラッパーだ
つまりそれは素晴らしいものということだ
745: 2019/05/11(土)07:25 ID:??? AAS
> 置換にしてもJavaScript同様無駄の多い処理をしてるはずだ
その仕事を、人間がやるか
コンピュータにやらせるかだ。
人間が楽になれば、コンピュータの仕事は増える
コンピュータの仕事を増やすことこそ、正しい姿だ。
746(1): 2019/05/11(土)07:27 ID:??? AAS
いやいや正規表現エンジン通すとか配列に分割してまたくっつけるとか
そういうのがイラネっていってるだけだろ
例えば
pos = str.indexOf(search);
while(pos > -1) {
str = str.substring(0, pos) + replacement + str.substring(pos + 1);
pos = str.indexOf(search, pos);
}
こんなコードをネイティブで実装してないのか?って話じゃねーの
747: 2019/05/11(土)09:55 ID:??? AAS
>>746
頼むから、バグリング君に関わるのは止めてくれ
彼に話が通じるわけないだろう
748(1): 2019/05/11(土)11:37 ID:??? AAS
不特定多数のDOM要素を相手にしてごちゃごちゃやるのなら
それをいい具合に扱えるjQueryが最高というのは分かるが
今どきそれはナンセンス
コンポーネントにわけて1つ1つの機能の担当範囲を分けて
柔軟なことがしたいときはShadowDOMだったりHoudini系のAPIを使って
中を詰めていくのが基本
そういった技術にjQueryは適さない
749(1): 2019/05/11(土)12:04 ID:??? AAS
>>748
> コンポーネントにわけて1つ1つの機能の担当範囲を分けて
> 柔軟なことがしたいときはShadowDOMだったりHoudini系のAPIを使って
> 中を詰めていくのが基本
そこに「顧客が本当に必要だったもの」の観点は有るのかい?
顧客にそうしてくれと言われたのかい?
上下前次1-新書関写板覧索設栞歴
あと 253 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.134s*