JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (766レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
193: デフォルトの名無しさん [sage] 2016/05/18(水) 00:08:03.84 ID:jjsucSg3(1/2) AAS
>>185
あと、ついでならMDNもお願いしていい?
1. https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date
内のメソッド parse について、
× > JavaScript で日付を表す文字列を解釈して、地方時で 1970 年 1 月 1 日 00:00:00 から経過したミリ秒を表す数値を返します。
○ UTCで
194: デフォルトの名無しさん [sage] 2016/05/18(水) 00:09:05.81 ID:jjsucSg3(2/2) AAS
>>185
2. https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
test がさも search や exec の代りの高速メソッドとして使えるように書いてある。
これは半分事実なのだが、実際はtestはexecを1回やるだけなので、RegExpをバッファするとバグる。
具体的には以下。2回の同じ入力の呼び出しに対し、出力が異なる。
(testinputはそのページの使用例の出力先をconsole.logに書き換えただけの物)
function testinput(re, str) {
var midstring;
if ( re.test(str) ) {
midstring = " contains ";
} else {
midstring = " does not contain ";
}
console.log(str + midstring + re.source);
}
var rexp = /a/g;
var str = 'abc';
testinput(rexp,str); // abc contains a
testinput(rexp,str); // abc does not contain a
これは完全に落とし穴掘っているだけで、MDNだけ読んでいても気づかない。
だから「testは実際はexecを1回起動するだけです。詳細はexecを確認してください。」みたいな誘導が必要。
testに渡す正規表現に g つけんな!ってのはあるけど、
管理上、同じ正規表現を使いまわししたいときがあって、(その正規表現はプログラム内で1箇所にしたい)
そのときに g が付いているやつがあってバグった。
だから、「gつけないでください」という誘導でも実質的にはいいのだけど、多分MDNの雰囲気とは合わない。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.036s