Last active
December 16, 2015 19:19
Revisions
-
walling revised this gist
Apr 29, 2013 . 1 changed file with 1 addition and 1 deletion.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 @@ -2,7 +2,7 @@ (function() { 'use strict'; // Nyt scope, som ikke er tilgængeligt udefra. // Bind reference til alle funktioner, som vi bruger, for at mindske risikoen for overskrivning. var Number_toString_ = Number.prototype.toString; -
walling created this gist
Apr 29, 2013 .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,29 @@ /*jshint strict:true*/ (function() { 'use strict'; // Nyt scope, som ikke er tilgængeligt udefra. // Bind reference til alle funktioner, som vi bruger, for at mindske risikoen for overskrivning. var Number_toString_ = Number.prototype.toString; var encodeURIComponent_ = encodeURIComponent; var apply_ = Function.prototype.apply; // etc. // Byg sikker udgave af funktions-applikation. var apply = function(func, obj, args) { if (func.apply !== apply_) { throw 'Security!'; // Brug ikke 'new Error', da konstruktøren kan overskrives udefra på flere måder. } else { return func.apply(obj, args); } }; // Gem nøgler i variabler, som ikke eksponeres uden for scope. var secret = 42; // etc. // I beregninger bruger vi kun funktioner, som vi selv holder referencen til. var xyz = apply(Number_toString_, secret, []); // etc. }());