JavaScript函数的多种写法
本文主要介绍了JavaScript函数的多种写法,下面是小编为大家整理的JavaScript函数的多种写法,欢迎参考~
函数声明和表达式(旧方法):
最早的函数定义形式就是函数声明和函数表达式。前者是最初设计的一部分(1995)并出现在第一个版本的规范(1997年)中,后者是在第三个版本(1999年)引入的。我们可以从这些规范中提取三种不同的定义形式:
要注意的是匿名函数表达式可能仍然有一个“名称”。
Function构造器
当我们在讨论一种语言的“函数API”的时候,就已经开始讨论Function构造器。函数声明的语法形式可以被解释为函数构造器的API的.“文字”形式。Function构造器为定义函数提供了一种方法:通过N个字符串参数指定函数参数和函数主体,(如下面的例子)最后一个字符串参数始终是函数主体(需要指出的是,这是一种动态求值形式,会有潜在的安全风险)。对于大多数情况来说,这种形式并不适合,因此它的使用非常稀少——但是自从第一个版本的ECMAScript以来,它就一直存在在JavaScript中了。
新方法:
自从ES2015推出以来,已经引入了几种新的语法形式。这些形式的变化是巨大的!
not-so-anonymous函数声明
这是一种新的匿名函数声明形式,如果你曾用过ES Modules,应该清楚这种语法。虽然它可能看起来与匿名函数表达式非常相似,但它实际上有一个默认名称,即“default”
这个“default”本身并不是有效的标识符,并且没有绑定在该匿名函数上。
方法定义:
对于下面这个例子,大家应该能很快发现它定义了匿名和命名函数表达式作为属性的值。注意,这些不是不同的语法形式。它们是之前讨论过的函数表达式的示例,是在初始对象时编写的。这种形式最初是在ES3中引入的。
在ES5中引入了访问器属性定义:
从ES2015开始,JavaScript提供了一个简单的语法来定义方法,这种语法包括文字属性名称和计算属性名称形式,以及访问器形式:
我们还可以使用这些新形式作为类声明和表达式中的原型方法的定义:
和定义静态方法:
生成器:
生成器有一种特殊的语法,除了箭头函数和定义setter / getter方法的时候不能添加之外,可以被添加在其他所有语法形式中。我们可以用其生成函数声明、表达式、定义,甚至构造函数。让我们把它们列出来:
【JavaScript函数的多种写法】相关文章:
C语言函数的声明以及函数原型10-05
PHPCalendar的函数简介08-24
PHPJDToJulian() 函数07-18
PHPJulianToJD() 函数07-18
C语言中isalnum()函数和isalpha()函数的对比11-21
photoshop多种抠图方法11-25
英语单词多种用途06-22
C语言指针函数和函数指针详解06-10
PHP内部函数的定义09-14
C语言函数的含义10-04