首页 热点专区 小学知识 中学知识 出国留学 考研考公
您的当前位置:首页正文

JavaScript 模式(二)

2024-12-07 来源:要发发知识网

函数基本


1.总体说明

  • 函数是对象,可以动态创建,可以扩展,可作为参数和返回结果,可以拥有属性和方法
  • 函数提供作用域,代码块不提供

2.函数声明

  • 命名函数表达式
  var funcName = function funcName(){
      //TODO
  };
  • 匿名函数表达式
  var funcName = function(){
      //TODO
  };
  • 函数声明
  function funcName(){
      //TODO
  }

【说明】

  • 命名函数表达式和匿名函数表达式都必须以分号结束
  • 函数声明不能用来分配变量和属性,只能在 函数体内部 或者 全局空间中使用

3.函数的命名属性

函数默认具有name属性,三种声明下:

  • 命名函数表达式: name为funcName (一般变量和函数名相同,否则IE不能正确实现)
  • 匿名函数表达式: 空字符串(其他浏览器)或者undefined(IE浏览器)
  • 函数声明: name为funcName

4.函数提升(hoisting)

  • 对于所有变量,在函数体的任何地方进行声明,都会被提升到函数顶部
  • 函数声明会将整个函数在域内提升
  function region(){

     funcHoist(); //执行函数
     
     //函数声明
     function funcHoist(){
         //TODO
     }
  }
  • 函数表达式会将变量名提升,但函数本身不提升
    function region(){

     funcNoHoist(); //报错,类型为undefined
     
     //函数声明
     var funcNoHoist = function(){
         //TODO
     }
  }
显示全文