美文网首页你不知道的JavaScript程序员
es6块级作用域定义声明函数

es6块级作用域定义声明函数

作者: Funwt | 来源:发表于2017-08-29 02:04 被阅读14次
// 浏览器的 ES6 环境
function f() { console.log('I am outside!'); }

(function () {
  if (false) {
    // 重复声明一次函数f
    function f() { console.log('I am inside!'); }
  }

  f();
}());
// Uncaught TypeError: f is not a function

允许在块级作用域内声明函数。
函数声明类似于var,即会提升到全局作用域或函数作用域的头部。
同时,函数声明还会提升到所在的块级作用域的头部。
实际相当于下面的代码

// 浏览器的 ES6 环境
function f() { console.log('I am outside!'); }
(function () {
  var f = undefined;
  if (false) {
    function f() { console.log('I am inside!'); }
  }

  f();
}());
// Uncaught TypeError: f is not a function

相关文章

  • ES6分享会总结

    学到的内容 ES6的块级作用域 1. 块级作用域的概念 2. ES6允许在块级作用域内声明函数 3. 函数在块级作...

  • ES6语法--let和const

    1:let和const:作用域,全局作用域,函数作用域以及块级作用域(es6)。 let声明的变量只在块级作用域内...

  • javascript的三种作用域

    javascript 三种作用域 全局作用域 函数作用域 块级作用域(es6) 全局作用域 变量声明不写在函数内部...

  • ES6语法—块级作用域与函数声明

    需要记住的:ES5不允许在块级作用域声明函数ES6引入了块级作用域,明确允许块级作用域中声明函数 如果改变了块级作...

  • ES2015(ES6)学习手册

    作用域 全局作用域 函数作用域 块级作用域(es6) let let 声明的变量只在所处的块级有效 let没有变量...

  • 块级绑定

    因为ES6之前存在变量提升问题,容易造成问题,ES6引入了块级作用域。 块级声明 块级作用域在函数或者块({})中...

  • JS基础知识(2) -- 作用域和作用域链

    作用域 作用域就是变量与函数的可访问范围 全局作用域 函数作用域 ES6块级作用域 ES5没有块级作用域,ES6有...

  • let和const

    let 在ES5中,函数如果在块级代码里面声明,作用域也是在函数范围内,但在ES6中函数如果在块级作用域里面声明,...

  • ES6学习

    ES6 块级作用域、字符串、函数 let和const 定义变量是用块级作用域let替代var const定义不可修...

  • const,let,var 变量声明

    ES6前有全局作用域和函数作用域,声明变量用var。ES6 后新增块作用域。 1.Const 定义常量,初始化时必...

网友评论

    本文标题:es6块级作用域定义声明函数

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