Строка 3906 jQuery 1.7rc1
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('.', '')
например.
Да, ты прав. Это еще один способ сделать это.
Я думаю, что это может быть быстрый способ вернуть возвращаемое значение Math.random ()
в качестве символьной строки, чтобы можно было использовать replace ()
.
Это не одно и то же. В их версии они получают случайное число, преобразуя его в строку, конкатенируя пустую строку, удаляя точку, затем appendign sizcache
. Ваша версия добавляет sizcache
к случайному числу, а затем удаляет точку.
Конечно, конечный результат тот же, но может потенциально отличаться от другого значения строки, скажем, если он содержит точку типа siz.cache
.
Да, ваш метод даст тот же результат.
Часть + ''
используется для перевода числа в строку. Затем в этой строке вызывается функция replace
и добавляется строка sizcache
.
Однако с помощью вашего метода вы сначала добавляете эту строку в число (и преобразуете число в строку в процессе), а затем вызываете replace
на все. Так как вы просто удаляете точки, результат будет таким же.