Created
          August 24, 2016 08:30 
        
      - 
      
 - 
        
Save dushujun/7321e8696adb281b7addc12123f5d8f1 to your computer and use it in GitHub Desktop.  
Revisions
- 
        
gordonbrander revised this gist
Mar 28, 2012 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,4 @@ // Generate unique IDs for use as pseudo-private/protected names. // Similar in concept to // <http://wiki.ecmascript.org/doku.php?id=strawman:names>. // @@ -12,9 +12,9 @@ // // Use: // // var privateName = ID(); // var o = { 'public': 'foo' }; // o[privateName] = 'bar'; var ID = function () { // Math.random should be unique because of its seeding algorithm. // Convert it to base 36 (numbers + letters), and grab the first 9 characters  - 
        
gordonbrander created this gist
Mar 28, 2012 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,23 @@ // Generate pseudo-private name string objects. // Similar in concept to // <http://wiki.ecmascript.org/doku.php?id=strawman:names>. // // The goals of this function are twofold: // // * Provide a way to generate a string guaranteed to be unique when compared // to other strings generated by this function. // * Make the string complex enough that it is highly unlikely to be // accidentally duplicated by hand (this is key if you're using `ID` // as a private/protected name on an object). // // Use: // // var pid = ID(); // var o = { 'public': 'foo' }; // o[pid] = 'bar'; var ID = function () { // Math.random should be unique because of its seeding algorithm. // Convert it to base 36 (numbers + letters), and grab the first 9 characters // after the decimal. return '_' + Math.random().toString(36).substr(2, 9); };