Вы не описываете вселенную, в которой это должно быть уникальным.
Если вы имеете в виду абсолютно уникальный, то вы говорите о UUID .
Если вам нужно что-то уникальное для конечной точки, чтобы предотвратить кэширование на стороне клиента, этого будет достаточно
var unique = new Date().getTime();
Если вам нужно что-то другое, кроме этих двух, вам нужно быть более конкретным.
РЕДАКТИРОВАТЬ
Может быть, что-то похожее на это
jsonRpcClient = function()
{
var requestStack = [null];
this.makeRequest = function()
{
var id = this.getAvailableSlot();
requestStack[id] = new this.request( id, arguments );
}
this.getAvailableSlot: function ()
{
for ( var i = 0; i < requestStack.length: i++ )
{
if ( null == this.requestStack[i] )
{
return i;
}
}
return i;
}
this.request: function( id, args )
{
// request stuff here
// pass id and whatever else to jsonRpcClient.handleResponse()
}
this.handleResponse: function( id )
{
var request = requestStack[id];
requestStack[id] = null;
// Do whatever with request
}
};