📜  ES6 |职能

📅  最后修改于: 2022-05-13 01:56:22.348000             🧑  作者: Mango

ES6 |职能

ES6函数和普通函数一样,但是 ES6 有一些不同。函数是一组指令,它接受一些输入,执行一些特定任务并产生输出。函数是可以在程序中随时重复使用的一组代码。

句法:

function func-name() { 
   // body 
}

func-name();  // Calling 

函数类型: ES6 JavaScript 中有几种函数类型,下面一一提到:

参数化功能:此功能与普通函数相同。我们正在发送一些被调用函数接受的参数,它对这些参数执行一些任务并产生输出。

句法:

function func-name( p1, p2, . . ., p-n) {   
   // body 
}

func-name(1,"Geek", 3); // calling

例子:

Javascript


Javascript


Javascript


Javascript


Javascript


Javascript


Javascript


Javascript


Javascript


输出:

The sum of the values entered 22

可返回函数:向主函数或调用它的函数返回一些值的函数。

句法:

function func_name() { 
   // statements 
   return value; 
}
var var_name = func_name

例子:

Javascript

                   

输出:

GeeksforGeeks

函数中的默认参数:这个概念在 ES6 版本中是新的。它类似于 C++ 中的默认函数。我们只是为参数列表中的参数分配一个默认值。如果没有值传递给它或它未定义,则使用这些默认值初始化参数。

句法:

// p2 and p3 initialized with a default value
function func-name( p1, p2 = 0, p3 = 2) {
   // body 
}

func - name(1); // calling

例子:

Javascript


输出:

3

函数中的剩余参数:它不限制可以传递给函数的参数数量。也就是说,我们可以通过不同的函数调用向同一个函数发送 1、2、3 或更多参数。参数写在“...”之后,例如“...p”,“...”定义函数调用可能传递的参数很多。

句法:

function func-name( ...p) // "p" is the parameter
// "..."  define the "Rest parameters"
{
   // body 
}

// calling
func-name(); // 0 argument
func-name(1); // 1 argument
func-name(1,"Geek"); // 2 arguments
func-name(1,"Geek",3); // 3 arguments

例子:

Javascript


输出:

1
2,GFG
3,GeeK,GFG

匿名函数:匿名函数是在声明时没有任何命名标识符来引用它的函数。这些函数在运行时动态声明。它可以接受输入并产生输出。它在初始创建后无法访问。

句法:

var func = function(arguments)
{
    // body
}

例子:

Javascript


输出:

GeeksforGeeks

Lambda 函数或箭头函数: Lambda 是指匿名函数。它是一个没有名称但通常用作传递给另一个函数的值的函数。 Lambda函数有一个箭头符号,这是区分 lambda函数和另一个函数的主要内容。这是在 ES6 版本中引入的。它也被称为箭头函数。它提供了创建匿名函数的简写。它使用“=>”符号定义。
句法:

  • 带有一个参数 x 的匿名函数,它返回 x + 1
x => x + 1
  • 与之前相同,但具有函数体
x => {return x + 1}
  • 2 自变量箭头函数
(x, y) => x + y
  • 与之前相同,但具有函数体
(x, y) => {return x + y}

例子:

Javascript


输出:

Arrow function

函数提升:函数提升是一种 JavaScript 机制,函数可以在声明之前使用。它只发生在函数声明中。它只是提升了函数名,也提升了实际的函数定义。

句法:

GFG();  // Calling before definition
function GFG() // Define after calling
{
  // body
}

例子:

Javascript

 

输出:

GeeksforGeeks

Generator()函数: Generator 函数就像一个普通函数。但是一个正常的函数会一直运行,直到它返回或结束。在 Generator-function 中,函数运行直到 yield 它返回或结束。这是通过使用 yield 关键字代替 return 关键字来完成的。当调用生成器函数时,它会返回生成器对象,该对象包含使用 next() 方法或 for...of 循环迭代的整个生成器迭代器。 yield 语句暂时挂起函数的执行并将一个值发送回调用者。主要的是,当我们多次调用一个函数时,该函数的执行会暂停一个值,并且在下一次调用中,该函数的执行将从该暂停位置恢复。

句法:

function* func-name(){
     yield 'GEEK';
     yield 'GFG';
}

// Object creation of generator function
var v = func-name()
document.write.(v.next().value); //"GEEK" 
document.write.(v.next().value); //GFG

例子:

Javascript


输出:

python
java
C++

立即调用函数:立即调用函数表达式用于避免提升。即使变量的隐私不是公开的,它也允许公开访问方法。这些函数不需要任何显式调用即可调用。该函数的声明也与普通函数不同。总函数在一对第一个括号下声明。这个东西告诉编译器立即执行这个块。这也是使用“!”声明的象征。

句法:

  • 使用第一个括号:
(function ()
{ 
    // body 
}) ();
  • 使用 ”!”象征
!function ()
{ 
    // body 
}();

示例:这里的第二条语句是立即调用函数表达式,它会在被调用函数中的第一条语句之后和被调用函数的最后一条语句之前调用,即使最后一条语句在被函数函数。

Javascript


输出:

do
CODE
at GeeksforGeeks

do
Practice
at GeeksforGeeks