zoukankan      html  css  js  c++  java
  • JS-函数声明 和 函数表达式

    问题:

          1, function foo() {};     

          2, var foo = function () {};

    1,上面的语法是声明,可以提升,因此在函数定义的上方也可以调用

    2,下面的语法是函数表达式,函数名是 foo (其实是变量名提升),提升的不是函数体

    ### 函数表达式也支持名字语法的

    *********************************************

    var foo  = function func() {

       console.log(func);       //在函数内部可以这样子用,把函数体打印出来

    };

    func(); //不能如此调用 

    foo();

    **********************************************

    ***函数有一个属性name,表示的是函数名,只有带有名字的函数定义,才会有name属性值,否则是 " "。

    ***但是,函数表达式的名字(函数的name属性),只允许在函数内部使用,(特殊)ie8允许访问。

    **********************************************************************************

    1,新的浏览器中,写在if while do-while 结构中的函数会转换为表达式,但是它又可以在外部调用(和上面的结论存在矛盾)


    注:个人学习笔记

  • 相关阅读:
    Cocos2d-x 2.x项目创建
    Mac OS 使用Git
    Android Studio And Gradle
    Mac OS环境变量配置(Android Studio之Gradle)
    【Android UI】 Shape详解
    JS-OC通信之Cordova简介
    python类的定义和使用
    Android屏幕适配常识
    Python面试315题
    第十五篇 Python之文件处理
  • 原文地址:https://www.cnblogs.com/xixiaijunjun/p/10080222.html
Copyright © 2011-2022 走看看