const aa = 100 * (200 + 300);
console.log(aa);
console.log(());
function Test(){}();
// 等价于上面的代码,之所以报错是因为括号里没有值
// function Test()
// ()
function Test(){}(1); // 此时就不会报错了
function Test(a,b,c){console.log(a,b,c);
}
Test(1,2,3)
const test2 = function(){console.log('Function Expression');
}
test();
function Test(){}();
// 等价于上面的代码,之所以报错是因为括号里没有值
// function Test()
// ()
function Test(){}(1); // 此时就不会报错了
- 当解析器遇到 function 关键字时,默认是函数申明,()能把函数申明转为函数表达式
(function test(){console.log('Function Declaration');
})()
- 把解析器遇到 {} 时,默认认为是代码块,()把代码块转为表达式
const obj = {
name: 'wwt',
age: '18'
}
const strObj = JSON.stringify(obj);
const res = eval('('+ strObj + ')');
console.log(res);