I found this code in some library, which tries to avoid hard-coding window object:
var global = (function () {
return this || (1, eval)('this');
}());
Anybody can explain the meaning of "|| (1,eval)('this')" part? And why to use (1,eval) instead of just eval?
Asked
Active
Viewed 27 times
2
Engineer
- 47,849
- 12
- 88
- 91
-
(1,eval) is an indirect eval, which breaks out of a custom function with a custom _this_ when applying the code. – dandavis Feb 28 '15 at 09:07