JavaScript中的函数

简介: 函数的定义我们经常在脚本的很多地方需要使用到同样的代码,这时候就需要使用函数来实现。比如在访客登陆,退出等情况下,我们需要弹出提示框,这时候就需要使用函数来实现。函数本质就是将一段代码给封装起来,作为一个功能,这样就可以重复使用。

函数的定义

我们经常在脚本的很多地方需要使用到同样的代码,这时候就需要使用函数来实现。

比如在访客登陆,退出等情况下,我们需要弹出提示框,这时候就需要使用函数来实现。

函数本质就是将一段代码给封装起来,作为一个功能,这样就可以重复使用。

函数是程序的主要“构件模块”,函数可以调用很多次,这就大大减少了代码量。

函数的声明

先举一个例子:

function showMessage() {
    alert("Hello World!");
}
复制代码

我们来解释一下,首先定义函数的时候,出现function关键字,接着是函数名,然后是一对括号(括号里面可以写上需要传进函数的参数,没有则可以不写),括号里面的参数使用逗号隔开,然后花括号里面的部分就是函数体。

调用函数:在调用函数的时候,函数名后面跟着一对括号,括号里面可以写上需要传进函数的参数,没有则可以不写。

比如:

showMessage();
复制代码

局部变量

函数内部的变量,只在函数内部有效,函数执行完毕后,变量就会被销毁。

例如:

function showMessage() {
    var msg = "Hello World!";
    alert(msg);
}
showMessage();
console.log(msg); // 报错,msg is not defined
复制代码

在上面的代码中,我们在函数内部定一个msg变量,函数执行完毕后,msg变量就会被销毁。可以看到在函数内部,该变量可以正常使用,但是在函数外部,却报错了。因为我们没有定义该变量,所以报错。

全局变量

全局变量又称外部变量,是在函数外部定义的变量,可以在函数内部使用。

函数对全局变量拥有全部的访问权限。这就意味着函数可以修改外部变量

注意:1.只有在没有局部变量的情况下,函数才会使用外部变量;如果函数内部定义了局部变量,那么函数内部的局部变量会覆盖外部变量(外部变量被忽略)。

2.在任何函数之外声明的变量,都被成为全局变量。

3.全局变量在任意函数中都是课件的(除非被局部变量屏蔽,也就是局部变量的名字和全局变量的一样)。

4.全局变量的作用域是整个程序。

默认值

前面我们提到,有些函数是需要传值进去的,这个传进去的值,我们把它叫做参数;如果一个函数需要传参,但是我们没有提供值的话,那么在函数对应的变量那里,它的值会变成undefined。

例如:

function showMessage(msg) {
    alert(msg);
}
showMessage(); // undefined  
复制代码

在JavaScript中,每次函数在没有带个别参数的情况下,默认参数会被计算出来。

返回值

函数可以将一个值返回到调用代码中作为结果,这个被返回的值就被称作返回值。

例如:

function sum(a,b){
    result = a+b;
    return result;
}
let result1 = sum(1,2);
alert(result1)//3
复制代码

这段代码就是两数相加,最后将结果返回。

注意:

  • return这个指令可以在函数的任意位置(不一定要在函数末尾);但是当函数执行到这里的时候,函数将会停止,并且将结果返回给调用代码(例如上面例子里的result1)。
  • 函数中可以不止出现一个return,比如在条件分支语句中,可以根据分支情况书写多个return语句。
  • return语句不一定不许有返回值,也就是说,return语句可以是空的,但是这会导致执行到return语句时函数立即退出。
  • 空值的return或者没有return语句的函数,他们最后返回回去的都是undefined。
  • 不要在return与返回值之间添加新行,因为在JavaScript中默认会在return后面加上分号,如果你添加了新行,那么就意味着你在return语句结束之后书写的代码(这是会被浏览器忽略的)。


相关文章
|
20天前
|
JavaScript 前端开发 Java
[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂
本文介绍了JavaScript中常用的函数和方法,包括通用函数、Global对象函数以及数组相关函数。详细列出了每个函数的参数、返回值及使用说明,并提供了示例代码。文章强调了函数的学习应结合源码和实践,适合JavaScript初学者和进阶开发者参考。
33 2
[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂
|
18天前
|
前端开发 JavaScript 开发者
除了 Generator 函数,还有哪些 JavaScript 异步编程解决方案?
【10月更文挑战第30天】开发者可以根据具体的项目情况选择合适的方式来处理异步操作,以实现高效、可读和易于维护的代码。
|
1月前
|
JavaScript 前端开发
JavaScript 函数语法
JavaScript 函数是使用 `function` 关键词定义的代码块,可在调用时执行特定任务。函数可以无参或带参,参数用于传递值并在函数内部使用。函数调用可在事件触发时进行,如用户点击按钮。JavaScript 对大小写敏感,函数名和关键词必须严格匹配。示例中展示了如何通过不同参数调用函数以生成不同的输出。
|
1月前
|
存储 JavaScript 前端开发
JS函数提升 变量提升
【10月更文挑战第6天】函数提升和变量提升是 JavaScript 语言的重要特性,但它们也可能带来一些困惑和潜在的问题。通过深入理解和掌握它们的原理和表现,开发者可以更好地编写和维护 JavaScript 代码,避免因不了解这些机制而导致的错误和不一致。同时,不断提高对执行上下文等相关概念的认识,将有助于提升对 JavaScript 语言的整体理解和运用能力。
|
2月前
|
JavaScript 前端开发 安全
JavaScript函数详解
JavaScript函数的详细解析,包括函数的定义和调用方式(如一般格式、匿名函数、构造函数、自调用函数、箭头函数和严格模式)、函数参数(arguments对象、可变参数、默认参数值)、闭包的概念和应用实例。
JavaScript函数详解
|
1月前
|
JavaScript 前端开发
js教程——函数
js教程——函数
36 4
|
1月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
16 2
|
1月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
25 5
|
1月前
|
JavaScript 前端开发
Node.js 函数
10月更文挑战第5天
24 3
|
1月前
|
前端开发 JavaScript
探索JavaScript函数基础
探索JavaScript函数基础
19 3