函数的声明方式

2019-05-18  本文已影响0人  smalldefy

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>
上一篇 下一篇

猜你喜欢

热点阅读