Created
May 15, 2020 15:18
-
-
Save codesandtags/b5259bb0472a11c73b51f0258173dab2 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); };