JavaScript中括号中逗号分隔的数字/函数?
我读了一篇文章: 之后: 那么什么是JavaScript中括号中逗号分隔的数字/函数?,javascript,dot.js,Javascript,Dot.js,我读了一篇文章: 之后: 那么什么是(0,eval),我的意思是逗号做什么 我在Chrome的控制台上玩过,(0,1),(2,1),(2,{}),2,1,等等,它总是返回最后一个。逗号操作符计算两者并总是返回最后一个。就像你说的 您可以阅读逗号运算符: 即使我不知道(0 | | eval)的目的。。。(0,eval)是等价的,少了一个字符。我们知道他们为什么首先使用(0 | eval)吗?让代码分析人员闭嘴,他们根本就在使用邪恶的eval。但我和你一样困惑。@Len他们想要“间接调用eval”:
(0,eval)
,我的意思是逗号做什么
我在Chrome的控制台上玩过,
(0,1)
,(2,1)
,(2,{})
,2,1
,等等,它总是返回最后一个。逗号操作符计算两者并总是返回最后一个。就像你说的
您可以阅读逗号运算符:
即使我不知道(0 | | eval)的目的。。。(0,eval)是等价的,少了一个字符。我们知道他们为什么首先使用
(0 | eval)
吗?让代码分析人员闭嘴,他们根本就在使用邪恶的eval
。但我和你一样困惑。@Len他们想要“间接调用eval
”:在链接页面的“间接调用eval”部分,它解释说,通过使用(0,eval)
,“我们可以使用逗号运算符来形成对eval的间接调用,从而强制它在全局上下文中执行”。
var global = (function(){ return this || (0||eval)('this'); }());
l=function(){return this||(0,eval)("this")}();