Dotcpp  >  编程教程  >  JavaScript函数  >  JS函数的定义

JS函数的定义

点击打开在线编译器,边学边练

在前面的章节我们简单介绍了有关JS的各种功能和知识,接下来我们将更加详细化具体的介绍JS的相关内容。

JS函数的定义

JavaScript 使用关键字 function 定义函数。

函数可以通过声明定义,也可以是一个表达式。

函数声明

在之前的教程中,你已经了解了函数声明的语法 :

function 函数名(参数列表) {
执行的代码
}

函数声明其实就是告诉计算机我们编写了一个函数,当我们想使用时,只需要通过函数的调用来使用。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>www.dotcpp.com</title>
</head>
<body>
<p>本例调用的函数会执行一个计算,然后返回结果:</p>
<p id="demo"></p>
<script>
function sayHello() {
  console.log('Hello www.dotcpp.com!');
} document.getElementById("demo").innerHTML=myFunction();//运行结果 Hello www.dotcpp.com!
</script>
</body>
</html>

注:JS以;号结尾,在函数中以{开始 ,}结束。

函数表达式

函数表达式是 JavaScript 中另一种常见的函数定义方式。它使用 var、let 或 const 关键字声明一个变量,并将一个匿名函数分配给该变量。

基本语法如下:

var functionName = function(parameters) {
  执行的代码
};

例如:

var sayHello = function(name) {
  console.log('Hello, ' + name + '!');
};

上述代码定义了一个名为 sayHello 的函数表达式,它接受一个参数 name,在函数体中使用 console.log 来输出带有参数值的问候语。

要调用该函数,可以使用函数变量名后紧跟圆括号的方式:

sayHello('dotcpp'); // 输出:Hello, dotcpp!
sayHello('dotcpp.com'); // 输出:Hello, dotcpp.com!

函数表达式方式与函数声明方式相比更加灵活,可以将函数赋值给变量,作为另一个函数的参数传递,或者作为对象的方法等。它允许在运行时动态创建函数,并根据需要进行引用和调用。

Function()构造函数

Function() 构造函数是 JavaScript 中用来动态创建函数的一种方式。通过 new Function(),可以传入参数和函数体的字符串形式来创建函数对象。

基本语法如下:

var functionName = new Function(arg1, arg2, ..., "functionBody");

其中,arg1, arg2, ... 是函数的参数列表,最后一个参数是以字符串形式表示的函数体。注意,参数和函数体都是作为字符串传递的。

例如:

var sayHello = new Function('name', 'console.log("Hello, " + name + "!");');

上述代码通过 Function() 构造函数创建了一个名为 sayHello 的函数对象,它接受一个参数 name,并在函数体中使用 console.log 输出问候语。

要调用该函数,可以像调用其他函数一样使用函数名后紧跟圆括号的方式:

sayHello('dotcpp'); // 输出:Hello, dotcpp!
sayHello('dotcpp.com'); // 输出:Hello, dotcpp.com!

请注意,使用 Function() 构造函数动态创建函数可以实现灵活的功能,但也可能存在安全风险和性能问题。因此,在实际开发中,更常见的做法是使用函数声明或函数表达式来定义函数。只有在特定情况下,才需要使用 Function() 构造函数。



本文固定URL:https://www.dotcpp.com/course/1278

JavaScript教程
第一章 JavaScript入门
第二章 JavaScript基础语法及数据类型
第三章 JavaScript函数
第四章 JavaScript类
第五章 JS高级教程
第六章 JS Window
第七章 JS库
Dotcpp在线编译      (登录可减少运行等待时间)