jQuery获取建立唯一ID
来源:互联网 发布:师洋淘宝直播还骂人 编辑:程序博客网 时间:2024/06/05 00:25
不要用微秒来产生唯一的ID
自打web开发早期开始,就流行一种产生唯一ID的方法。具体做法是把从1970年1月1日开始计算的微秒数加到你的静态ID后面,如下所示:
这本来是相当万无一失的方法,因为即便两段这样的代码连续执行,在它们执行的间隙也会有几毫秒。可是现在新的浏览器带着新的JavaScript引擎,伴随着一直在提升的主频。到现在,上面的代码产生相同的毫秒数的可能性会比产生间隙的可能性更大。
这会导致传统方法难以debug的bug。因为你的DOM是在运行中创建的,对页面源代码进行传统的测试无法确定多个重复ID的错误。javascript和jQuery的错误处理机制会把第一个匹配的作为ID并忽略其他的重复ID。所以它甚至都不会抛出js错误!
这样不行,唯一真正的方法是逐行设断点和log,但是如果断点的位置不对,你的毫秒数又不会冲突了!
好消息是有很多产生唯一ID的替代方法。学究气一点的说法是,计算机的随机数函数其实并不是真正随机的,因为它还是来源于系统时间,虽然这一点值得注意,但是随机数冲突的可能性是微乎其微的。
我个人更偏爱人工产生GUID方法。从技术角度说,GUID是根据你的硬件创建的,不过下面的Javascript函数做得相当棒。这是我从 stack overflow 的一个帖子 里偷来的,相当顺手的一个函数。
阅读全文
1 0
- jQuery获取建立唯一ID
- jQuery获取建立唯一ID
- jQuery获取建立唯一ID
- 获取Android唯一ID
- 获取唯一id
- 获取Mobile设备唯一ID
- 获取一个唯一的ID
- Android获取设备唯一ID
- Android 获取设备唯一ID
- 关于获取计算机唯一ID问题
- 如何获取设备唯一性的ID
- Android开发获取唯一设备ID
- 获取android唯一ID 的坑
- 如何获取Android移动终端设备唯一ID
- iOS开发中获取设备唯一ID
- 分表时如何获取用户的唯一ID
- Android设备唯一标识ID的获取
- 获取Android设备的唯一 Android ID
- HDU 2369 尺取法
- bzoj1880: [Sdoi2009]Elaxia的路线
- 只谈 Unity中 yield return/ StartCoroutine 的使用
- 1007. Maximum Subsequence Sum (25)
- MySQL(四)
- jQuery获取建立唯一ID
- MFC 关于SendMessage 消息参数 传送字符串,结构体
- [7.8] 纪中C组
- 1045. Favorite Color Stripe 解析
- 观察者模式
- Laravel 使用insert插入数据,字段created_at为0000?
- 数组操作小技巧
- 浅谈Android中的MVVM模式
- 2017暑假集训 div1 最短路(1)