jQuery 1.7rc1的第3906行是
expando = "sizcache" + (Math.random() + '').replace('.', ''),
我不明白使用+ ''
的意义。不是以上等同于
expando = ("sizcache" + Math.random()).replace('.', ''),
答案 0 :(得分:6)
+ ''
是将其转换为字符串 - 它允许替换工作。
如果大小文本更改为包含。
,则不一样"sizcache." + (Math.random() + '').replace('.', '') != ("sizcache." + Math.random() + '').replace('.', '')
例如。
答案 1 :(得分:3)
是的,你是对的。只是另一种方式。
答案 2 :(得分:1)
我相信他们正在使用“+”来将数字转换为字符串。
答案 3 :(得分:0)
我认为这可能是将Math.random()
的返回值强制转换为字符串的快捷方式,因此可以使用replace()
。
答案 4 :(得分:0)
这不是一回事。在他们的版本中,他们得到一个随机数,通过连接一个空字符串将其转换为字符串,删除点,然后追加sizcache
。您的版本会将sizcache
附加到随机数,然后删除该点。
当然,最终结果是相同的,但可能与另一个字符串值不同,例如它是否包含像siz.cache
这样的点。
答案 5 :(得分:0)
是的,您的方法会产生相同的结果。
+ ''
部分用于将数字转换为字符串。然后在该字符串上调用replace
函数,并预先添加sizcache
字符串。
但是,使用您的方法,您首先将该字符串添加到该数字(并将该数字转换为该过程中的字符串),然后在整个事件上调用replace
。由于您只是删除点,结果是相同的。