美文网首页
js进阶(1.1)函数声明

js进阶(1.1)函数声明

作者: slTrust | 来源:发表于2017-12-13 22:47 被阅读0次

    匿名函数 就是声明的时候不给名字

    function(){ return 1 ;} 你声明了它 但是又不能引用到它

    // function(){ return 1 ;}  匿名函数 相当于废话    会报错   你只有给了引用才能使用
    //fn 记录的是函数的地址 ==>引用
    var fn = function(){
        return 1;
    } 
    console.log(fn.name) //fn
    var fn2 = fn;  //这里不是把function(){ return 1 ;} 复制给fn2 而是把地址复制给fn2
    console.log(fn2.name) //fn 
    

    具名函数

    function fn3(){
        return 1;
    }
    console.log(fn3); //可以访问   fn3它是一个变量  作用域是整个区域
    

    将具名函数赋值给一个变量 它的作用域就变了

    var fn4 = function fn5(){return 1;}
    console.log(fn4.name)  //fn5
    // 这个具名函数的作用域就是他函数本身那部分  外部访问不到
    // console.log(fn5) //fn5 is not defined
    // console.log(fn5.name) //报错
    

    全局作用域的函数 赋值给变量他的作用域不受影响

    function fn6(){return 1;}
    var fn7 = fn6;
    console.log(fn6.name) //fn6
    console.log(fn7.name) //fn6
    console.log(fn7) //function fn6(){return 1;}
    

    箭头函数

    var fn8 = ()=>1; //无参数 返回1
    var fn9 = i=>i+1; //有参数返回   参数+1;
    var fn10 =(i,j)=>{
        console.log(i)
        console.log(j)
        return i+j
    } //有参数  并且函数内部有多条语句    
    console.log(fn8.name) //fn8 
    // 箭头函数和  匿名函数 具名函数唯一的区别就是  this
    

    相关文章

      网友评论

          本文标题:js进阶(1.1)函数声明

          本文链接:https://www.haomeiwen.com/subject/urweixtx.html