模块 - 构造一个用来产生序列号的对象
1 var serial_maker = function() { 2 //返回一个用来产生唯一字符串的对象。 3 //唯一字符串由两部分组成:前缀+序列号。 4 //该对象包含一个设置前缀的方法,一个设置序列号的方法,和一个产生唯一字符串的 gensym 方法。 5 var prefix = ''; 6 var seq = 0; 7 return { 8 set_prefix: function(p) { 9 prefix = String(p); 10 }, 11 set_seq: function(s) { 12 seq = s; 13 }, 14 gensym: function() { 15 var result = prefix + seq; 16 seq += 1; 17 return result; 18 } 19 }; 20 }; 21 22 var seqer = serial_maker(); 23 seqer.set_prefix('Q'); 24 seqer.set_seq(1000); 25 var unique = seqer.gensym(); // Q1000 26 console.log(unique);