函数声明的几种方式

2019-04-19  本文已影响0人  diviner_杨
函数声明的几种方式
function func1(a){}//函数声明

var func2=function(b){}//函数表达式

var func3=function func4(c){}//命名式函数表达式

var func5=(function(n1,n2){})();//立即执行的函数表达式

return function(){ };//作为返回值的函数表达式

var func6=new Function()//构造函数声明
函数声明与函数表达式的区别
var a = 1;
function fn(){
  console.log(a)//1  undefined
  var a = 5
  console.log(a)//2 5
  a++
  var a
  fn3()//3  1
  fn2()//4  6
  console.log(a)//5  20

  function fn2(){
    console.log(a)
    a = 20
  }
}

function fn3(){
  console.log(a)
  a = 200
}

fn()
console.log(a) //6 200
var x = 10;
bar() 
function bar(){
  var x = 30;
  (function (){
    console.log(x)
  })()
} //30

var x = 10;
bar() 
function bar(){
  var x = 30;
  function foo(){
    console.log(x) 
  }
  foo();
}  //30

var x = 10
bar() 
function foo() {
  console.log(x)
}
function bar(){
  var x = 30
  foo()
}//10

 sayName('world');
    sayAge(10);
    function sayName(name){
        console.log('hello ', name);
    }
    var sayAge = function(age){
        console.log(age);
    };
上一篇 下一篇

猜你喜欢

热点阅读