今天偶然看到这么一句代码:(0, eval)( "1+1" ); //2于是我仿照了一个:( 0, function( a ) {
console.log( a ); //"hello world"} )( "hello world" );( function( a ) {
console.log( a ); //为啥不传到这里???}, function( b ) {
console.log( b ); //"hello world"} )( "hello world" );瞬间????飞过,哪位大神能解释下?
2 回答
![?](http://img1.sycdn.imooc.com/54586431000103bb02200220-100-100.jpg)
炎炎设计
TA贡献1808条经验 获得超4个赞
1.小括号的用法之一是执行单个或多个表达式,并返回最后一个表达式的值,多个表达式之间需要用逗号“,”分隔开
例:(1,2+3,4+5,6)//代码会被一次执行,最后将6作为返回值
2.自执行匿名函数(function(){})()
所以你这个可以看做等于(eval)('1+1')
再次等于 eval('1+1')
添加回答
举报
0/150
提交
取消