我从 doT.js 中读取了一段代码行: var global = (function(){ return this || (0||eval)('this'); }()); 在它被minified之后: l=function(){return this||(0,eval)("this")}(); 那么(0, eval)是什么意思,逗号有什么作用? 我在Chrome的控制台中尝试了(0,1)、(2,1)、(2,{})、2,1等,它总是返回最后一个。
逗号运算符会对两个表达式进行求值,并返回最后一个表达式的值。就像你所说的那样。你可以阅读关于逗号运算符的更多信息:http://javascriptweblog.wordpress.com/2011/04/04/the-javascript-comma-operator/ 即使我不知道(0||eval)的目的是什么... (0,eval) 是等效的,而且少了一个字符。
(0||eval)
吗? - Asheraheval
。但我和你一样困惑。 - btowneval
”:https://github.com/olado/doT/issues/26#issuecomment-5669788 - Mengdi Gao