2012-04-12 6 views
1

誰かがこのコードの内容を説明することはできますか?テスト機能のテストは何ですか?この機能は何をしますか?そして、奇妙な構文は何ですか?

temp = "blah" 
if (/from_url=$/.test(temp)) { 
    //do something 
} 

test : function(s, p) { 
    s = s.nodeType == 1 ? s.value : s; 

    return s == '' || new RegExp(p).test(s); 
} 

また、初期条件ではif(/ from_url = $ /)の構文は何ですか?

+0

これはjQueryではない - そのプレーンなJavaScript - updatedタグ – ManseUK

+0

私は彼がjQueryソースからコピーしたと思う。空白の少なくとも奇妙な量と2番目のブロックが明らかにオブジェクトリテラルからコピーされているという事実は、実際にjQueryソースのように見えます。 – ThiefMaster

+0

@ThiefMaster ahh ok - 私はjQueryタグを戻します... ta – ManseUK

答えて

3

s = s.nodeType == 1 ? s.value : s;の終わりに、このテキストを見つける必要があり、正規表現 です.value、それ以外の場合はsを使用します。

return s == '' || new RegExp(p).test(s);戻り値sが空の文字列の場合はそれを返し、そうでない場合はsが正規表現pにあるかどうかをテストします。

if(/from_url=$/)は、末尾にある場合のみfrom_url=を検索する正規表現です。

0
/from_url=$/ 

は、JavaScriptの正規表現リテラルです。文字列は「from_url=」という文字列で終わる場合は、

new RegExp('from_url=$') 

この特定の正規表現のチェックに置き換えることができます。

+1

'RegExp()'を使うときは、スラッシュを含めないでください。 – ThiefMaster

+0

@ThiefMaster:正しいです、更新された答えを見てください。 – Tadeck

1
/from_url=$/ 

はs.nodeTypeが1であるならば、Sを使用する一時をチェックするために翻訳し、それがfrom_urlを= '持っている場合、文字列

関連する問題