underscoreに詳しくないので、勉強半分でソースコードを読む。
利用するバージョン
uniqueIdとは
underscorejs.orgのuniqueId
こんな説明。
####_.uniqueId([prefix])
Generate a globally-unique id for client-side models or DOM elements that need one.
If prefix is passed, the id will be appended to it.
_.uniqueId('contact_');
=> 'contact_104'
クライアントサイドのモデルやDOMで必要なグローバルなユニークIDを生成します。
prefixが渡された場合、それをIDの前につけます
underscore.uniqueId
コード的にはこのあたり。
// Generate a unique integer id (unique within the entire client session).
// Useful for temporary DOM ids.
var idCounter = 0;
_.uniqueId = function(prefix) {
var id = ++idCounter + '';
return prefix ? prefix + id : id;
};
idCounterを0で定義します。
idをidCounterを前置インクリメントしたものをStringで代入します。
prefixがある場合はprefix+idを、ない場合はidのみを返します。