1、关于函数的声明方式
1.1、ES5
在ES5中,我们常用的函数声明方式有两种。
第一种:
<script type="text/javascript">
function fun(){
}
</script>
这种方法是我们最常见的,也是学校中老师最先教的方式,这里的fun是函数名,由自己决定。
第二种:
<script type="text/javascript">
var fun = function(){
}
</script>
这种方法不太常见,但是应该也有见过,那么这两种方式有什么区别吗?
有的
当我们使用函数表达式的方式来声明函数的时候,也给了函数名,这个函数名是不能够在函数体外进行调用,只能在函数体内调用的。
可能这样说有些抽象,举个例子:
<script type="text/javascript">
fun1();
function fun1(){
console.log(1)
}
fun();
var fun = function(){
console.log(2)
}
</script>
在这个例子中,fun1()不会受到声明位置的影响,而fun则会报错,因为在这个例子中,fun()是以声明变量的形式声明,而变量必须先声明才能调用,所以使用第二种方式声明的话就只能在函数体调用函数名。
1.2、ES6
在ES6中,新增了一种叫箭头函数的声明方式,看下方↓↓↓
<script type="text/javascript">
var fun = ((parameter) => {
console.log(parameter)
})
</script>
箭头函数需要使用变量来记录函数才能在函数外调用,否则只能使用立即执行函数进行调用,例如:
<script type="text/javascript">
var fun = ((parameter) => {
console.log(parameter)
})(66)
</script>
箭头函数有3种声明方式,如下:
第一种:
<script type="text/javascript">
var fun = ((parameter) => {
console.log(parameter)
})
</script>
第二种:
<script type="text/javascript">
var fun = (parameter => {
console.log(parameter)
})
</script>
第三种:
<script type="text/javascript">
var fun = (parameter =>
console.log(parameter)
)(66)
</script>
网友评论