( 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" );

瞬间????飞过,哪位大神能解释下?


烙印99
浏览 871回答 2
2回答

炎炎设计

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

相关分类

JavaScript