jQuery 1.7rc1の3906行目は
expando = "sizcache" +(Math.random()+ '').replace( '。'、 '')、
私は + '' を使用する点を理解していません。上記と等価ではない
+ ''
expando =( "sizcache" + Math.random())。replace( '。'、 '')、
+ '' is to convert it to a string - it allows replace to work.
サイズのテキストがaを含むように変更された場合は同じではありません。
"sizcache." + (Math.random() + '').replace('.', '') != ("sizcache." + Math.random() + '').replace('.', '')
例えば。
.replace
はい、あなたが正しい。それを行う別の方法。
私は数字から文字列に変換するために "+" '"を使っていると思います。
はい、あなたのメソッドは同じ結果を生成します。
数字を文字列にキャストするには、 + '' 部分を使用します。次に、その文字列に対して replace 関数が呼び出され、 sizcache 文字列が先頭に追加されます。
replace
sizcache
しかし、あなたのメソッドでは、最初にその文字列を数値に追加し(そしてその数値を文字列に変換して)、全体を replace を呼び出します。ドットを削除するだけなので、結果は同じです。
それは同じことではありません。それらのバージョンでは、乱数を取得して空の文字列を連結して文字列に変換し、ドットを削除してから sizcache を付加します。あなたのバージョンでは乱数に sizcache が追加され、ドットが削除されます。
与えられた最終結果は同じですが、 siz.cache のようなドットが含まれていたとすると、別の文字列値と異なる可能性があります。
siz.cache
Math.random()の戻り値を文字列としてキャストすると、 replace()を使うことができると思います。
Math.random()
replace()