jQuery/コードを読む/002

jQuery/コードを読む/002

jQueryも2回目

31行目~ タグのっぽいとかID文字列チェック用正規表現オブジェクト

たぶん、いろんなところで使うからその場その場でやらないで、グローバルにばら撒いておいて使いましょうという話ね

// A simple way to check for HTML strings or ID strings
// (both of which we optimize for)
var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;

そこでこの正規表現

 ^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$

先頭が「<」じゃない文字列のゼロ以上連続 つまりタグの前の何か

「<」から始まり何か文字か空白が1個以上連続して「>」 つまりタグそのもの

続き・・・「>」じゃないの連続 強欲対策?

続き「|」なので・・・「|」は結合が非常に弱いので↑もしくは↓になる シャープから始まる何か単語

タグ名とID名らしきところがキャプチャされてるので、これは getElementsByTagName とかg etElementById とかのパラメータ抽出に使われそうですね このキャプチャは

  • タグっぽい部分
  • タグ名
  • ID指定っぽいところのID名

の3本があるってこと。

34行目~ 特殊セレクタじゃない判断?

これも正規表現

// Is it a simple selector
var isSimple = /^.[^:#\[\.]*$/;
^.[^:#\[\.]*$
  • 先頭文字はなんでもいい
  • それに続く「:」「#」「[」「\」「.」以外のゼロ個以上の連続

これらってCSSのセレクタに使われる特殊な記号だから、特殊じゃないパターンを検出する用の正規表現かな?

Tag

javascript/jquery/code_reading/code_reading_002.txt · 最終更新: 2019-12-25 10:48 by ore