下列选项中,能正确调用和运行函数的是()
函数表达式和函数声明以及它们提升的区别
A.立即执行函数没加()调用,相当于只是输入函数名,返回整个函数体
(function(){ console.log(1); })
B.函数声明整体函数提升至最前面
fun(); function fun(){console.log(1)} //提升后 function fun(){console.log(1)} fun(); //正常执行fun(),输出1
C. 函数表达式是先提升变量,后在原来位置赋值
fn(); var fn = function(){console.log(1);}; //实际上 var fn //提升变量 fn() // fn is not a function fn = function(){console.log(1)} //原来的位置
D. a未定义,记得Function得传字符串来着..
var fn = new Function(a,console.log(a)); fn(1);//ReferenceError: a is not defined