1. 问答
  2. 问答详情

( 0, eval )( \"1+1\") 解释

看到这么一句代码:

(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个回答

0

采纳

1.小括号的用法之一是执行单个或多个表达式,并返回最后一个表达式的值,多个表达式之间需要用逗号“,”分隔开
例:(1,2+3,4+5,6)//代码会被一次执行,最后将6作为返回值
2.自执行匿名函数(function(){})()
所以你这个可以看做等于(eval)('1+1')
再次等于 eval('1+1')

撰写答案

验证码
点击刷新