百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

JavaScript中的函数及argument应用

bigegpt 2024-10-19 02:51 16 浏览



哈喽大家好,我是作者“未来”,本期分享的内容是Web前端系列课程,本系列总共29个阶段,坚持学习3个月蜕变为Web前端高手哦!

志同道合的小伙伴跟我一起学习交流哦!


第三阶段 JavaScript基础


15 函数

把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在后续开发中可以反复调用。

函数的作用就是封装一段代码,将来可以重复使用。

例:通过函数求两个数字的和。


函数的定义

特点:

函数声明的时候,函数体并不会执行,只有当函数被调用的时候才会执行。

函数一般都用来干一件事情,需用使用动词+名词,表示做一件事情 `tellStory` `sayHello`等。

注意:

函数需要先定义,然后才能使用

函数名字:要遵循驼峰命名法。

函数一旦重名,后面的会把前面的函数覆盖。

Ctrl +鼠标左键---->转到定义。

一个函数最好就是一个功能。


函数的调用

调用函数的语法:

函数名();

特点:

函数体只有在调用的时候才会执行,调用需要()进行调用。

可以调用多次(重复使用)。

代码示例:


函数的参数

在函数定义的时候,函数名字后面的小括号里的变量就是参数,目的是函数在调用的时候,对用户传进来的值操作。


形参:函数在定义的时候小括号里的变量叫形参。

实参:函数在调用的时候小括号里传入的值叫实参,实参可以是变量也可以是值。

函数内部是一个封闭的环境,可以通过参数的方式,把外部的值传递给函数内部。

调用的时候,把实参1的值给形参1,把实参2的值给形参2……


函数的返回值

当函数执行完的时候,并不是所有时候都要把结果打印。我们期望函数给我一些反馈(比如计算的结果返回进行后续的运算),这个时候可以让函数返回一些东西。也就是返回值。函数通过return返回一个返回值。

在函数内部有return关键字,并且在关键字后面有内容,这个内容被返回了。

当函数调用之后,需要这个返回值,那么就定义变量接收即可。

返回值语法:

函数的调用结果就是返回值,因此我们可以直接对函数调用结果进行操作。


返回值详解:

-如果一个函数中有return ,那么这个函数就有返回值。

-如果一个函数中没有return,那么这个函数就没有返回值。

-如果一个函数中没有明确的返回值,那么调用的时候接收了,结果就是undefined

(没有明确返回值:函数中没有return,函数中有return,但是return后面没有任何内容)。

-函数没有返回值,但是在调用的时候接收了,那么结果就是undefined。

-变量声明了,没有赋值,结果也是undefined。

-如果一个函数有参数,有参数的函数。

-如果一个函数没有参数,没有参数的函数。

-形参的个数和实参的个数可以不一致。

-return 下面的代码是不会执行的。


案例

- 求1-100之间所有数的和

-求1-n之间所有的数字的和

- 求n-m之间所有数的和

- 圆的面积

-求三个数中的最大数

-判断一个数是不是素数

-求两个数字的差

-求一组数字中的最大值

-求一个数组中的最大值和最小值还有和

-通过函数实现数组反转

-通过函数实现冒泡排序

- 求阶乘


arguments的使用

定义一个函数,如果不确定用户是否传入了参数,或者说不知道用户传了几个参数,没办法计算,可以使用arguments。

JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。也就是说所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有的实参。arguments是一个伪数组,因此可以进行遍历。


案例

求任意个数的和

?

看不懂的小伙伴不要气馁,后续的分享中将持续解释,只要你跟着我分享的课程从头到尾去学习,每篇文章看三遍,一个月后,回过头来看之前的文章就会感觉简单极了。

本章已结束,下篇文章将分享《函数其它补充,作用域、预解析》小伙伴们不要错过哟!

相关推荐

当Frida来“敲”门(frida是什么)

0x1渗透测试瓶颈目前,碰到越来越多的大客户都会将核心资产业务集中在统一的APP上,或者对自己比较重要的APP,如自己的主业务,办公APP进行加壳,流量加密,投入了很多精力在移动端的防护上。而现在挖...

服务端性能测试实战3-性能测试脚本开发

前言在前面的两篇文章中,我们分别介绍了性能测试的理论知识以及性能测试计划制定,本篇文章将重点介绍性能测试脚本开发。脚本开发将分为两个阶段:阶段一:了解各个接口的入参、出参,使用Python代码模拟前端...

Springboot整合Apache Ftpserver拓展功能及业务讲解(三)

今日分享每天分享技术实战干货,技术在于积累和收藏,希望可以帮助到您,同时也希望获得您的支持和关注。架构开源地址:https://gitee.com/msxyspringboot整合Ftpserver参...

Linux和Windows下:Python Crypto模块安装方式区别

一、Linux环境下:fromCrypto.SignatureimportPKCS1_v1_5如果导包报错:ImportError:Nomodulenamed'Crypt...

Python 3 加密简介(python des加密解密)

Python3的标准库中是没多少用来解决加密的,不过却有用于处理哈希的库。在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto和cryptography上,我...

怎样从零开始编译一个魔兽世界开源服务端Windows

第二章:编译和安装我是艾西,上期我们讲述到编译一个魔兽世界开源服务端环境准备,那么今天跟大家聊聊怎么编译和安装我们直接进入正题(上一章没有看到的小伙伴可以点我主页查看)编译服务端:在D盘新建一个文件夹...

附1-Conda部署安装及基本使用(conda安装教程)

Windows环境安装安装介质下载下载地址:https://www.anaconda.com/products/individual安装Anaconda安装时,选择自定义安装,选择自定义安装路径:配置...

如何配置全世界最小的 MySQL 服务器

配置全世界最小的MySQL服务器——如何在一块IntelEdison为控制板上安装一个MySQL服务器。介绍在我最近的一篇博文中,物联网,消息以及MySQL,我展示了如果Partic...

如何使用Github Action来自动化编译PolarDB-PG数据库

随着PolarDB在国产数据库领域荣膺桂冠并持续获得广泛认可,越来越多的学生和技术爱好者开始关注并涉足这款由阿里巴巴集团倾力打造且性能卓越的关系型云原生数据库。有很多同学想要上手尝试,却卡在了编译数据...

面向NDK开发者的Android 7.0变更(ndk android.mk)

订阅Google官方微信公众号:谷歌开发者。与谷歌一起创造未来!受Android平台其他改进的影响,为了方便加载本机代码,AndroidM和N中的动态链接器对编写整洁且跨平台兼容的本机...

信创改造--人大金仓(Kingbase)数据库安装、备份恢复的问题纪要

问题一:在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录,您可...

OpenSSH 安全漏洞,修补操作一手掌握

1.漏洞概述近日,国家信息安全漏洞库(CNNVD)收到关于OpenSSH安全漏洞(CNNVD-202407-017、CVE-2024-6387)情况的报送。攻击者可以利用该漏洞在无需认证的情况下,通...

Linux:lsof命令详解(linux lsof命令详解)

介绍欢迎来到这篇博客。在这篇博客中,我们将学习Unix/Linux系统上的lsof命令行工具。命令行工具是您使用CLI(命令行界面)而不是GUI(图形用户界面)运行的程序或工具。lsoflsof代表&...

幻隐说固态第一期:固态硬盘接口类别

前排声明所有信息来源于网络收集,如有错误请评论区指出更正。废话不多说,目前固态硬盘接口按速度由慢到快分有这几类:SATA、mSATA、SATAExpress、PCI-E、m.2、u.2。下面我们来...

新品轰炸 影驰SSD多款产品登Computex

分享泡泡网SSD固态硬盘频道6月6日台北电脑展作为全球第二、亚洲最大的3C/IT产业链专业展,吸引了众多IT厂商和全球各地媒体的热烈关注,全球存储新势力—影驰,也积极参与其中,为广大玩家朋友带来了...