es6在块级作用域内声明函数需要注意的地方

es的let使其拥有了块级作用域的概念,并且可以光明正大的在作用域中声明函数,不过有几个需要注意的点

  1. 不同浏览器拥有不同的环境,导致行为差异大 ,声明的时候尽量写成函数表达式的形式 ,而不是函数声明语句;

这里是函数声明语句(不推荐)

{
	let a = 12;
	function f(){
		return a;
	}
}

这里是函数表达式(推荐)

{
	let a = 12;
	let f = function (){
		return a;
	}
}
  1. 在块级作用域中声明函数需要拥有外层大括号,如果省去就会报错

这里不会报错

if(true) {
	let f = function (){}
}

这里报错

if(true) 
	let f = function (){}

你可能感兴趣的:(JavaScript学习)