模块 - 构造一个用来产生序列号的对象

 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);

 

 

posted @ 2012-07-11 13:33  小猩猩君  阅读(208)  评论(0编辑  收藏  举报