JavaScript-函数

函数

定义函数

定义方式一

绝对值函数

function abs(x) {if (x>=0){return x;}else{return -x;}
}

一旦执行到return 代表函数结束,返回结果!
如果没有执行return,函数执行完也会返回结果,结果就是NaN / undefined

在这里插入图片描述

定义方式二

var abs1 = function(x){if (x>=0){return x;}else{return -x;}
}

function(x){…} 这是一个匿名函数,但是可以把结果赋值给abs,通过abs就可以调用函数!
方式一和方式二等价!!!
在这里插入图片描述
参数问题
参数问题: javaScript可以传任意个参数,也可以不传递参数
参数进来是否存在的问题?
假设不存在参数如何规避?

var abs1 = function(x){// 手动抛出异常来判断if (typeof x !== 'number') {throw 'Not a Number'}if (x>=0){return x;}else{return -x;}
}

arguments 是一个JS免费赠送的关键字;拿来即用,代表传递进来的所有的参数,是一个数组!

var abs2 = function(x){console.log("x===>"+x)console.log(arguments)for(let i=0; i<arguments.length;i++){console.log(arguments[i])}if (x>=0){return x;}else{return -x;}
}

在这里插入图片描述
问题:arguments包含所有的函数,我们有时候想使用多余的参数来进行附加操作,需要排除已有参数~

以前的写法:

var abs3 = function(a,b){console.log("a===>"+a)console.log("b===>"+b)if (arguments.length>2){for(let i=2; i<arguments.length;i++){// ....}}}

ES6引入的新特性,获取除了已经定义的参数之外的所有参数~ …

var abs4 = function(a,b,...rest1){console.log("a===>"+a)console.log("b===>"+b)console.log(rest1)
}

在这里插入图片描述
rest1参数名字是任意的符合规范的值,只能写在最后面,必须用…标识。

https://www.bilibili.com/video/BV1JJ41177di?p=12

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

领航智变时代 2020 NAVIGATE领航者峰会云上起航

4月20日&#xff0c;由紫光集团和旗下新华三集团主办的2020 NAVIGATE领航者峰会首次全面移师线上&#xff0c;盛大启航。本次线上峰会从4月20日到25日持续6天&#xff0c;以“智变”为主题&#xff0c;通过33个专题&#xff0c;超过120场演讲&#xff0c;聚焦探索智能时代的智与…

在阿里,我如何做好技术项目管理?

阿里妹导读&#xff1a;在技术公司、尤其是互联网公司&#xff0c;技术人员作为PM(项目经理)是非常常见的。有些同学得心应手&#xff0c;有条不紊&#xff0c;能得到清晰稳定的预期结果&#xff1b;有些同学则在过程中遇到各种闹心的事&#xff0c;最后不是项目上不了线&#…

云原生化的迁云实战

云原生的时代已经到来&#xff0c;云原生技术正在重塑整个软件生命周期&#xff0c;阿里巴巴是国内最早布局云原生技术的公司之一。 容器服务团队在过去的几年时间内帮助很多用户成功把业务云原生化并迁移上云&#xff0c;其中有现在已经是我们TOP10的大客户&#xff0c;也有需…

超详细!一文告诉你 SparkStreaming 如何整合 Kafka !附代码可实践

来源 | Alice菌责编 | Carol封图 | CSDN 下载于视觉中国相信很多小伙伴已经接触过 SparkStreaming 了&#xff0c;理论就不讲太多了&#xff0c;今天的内容主要是为大家带来的是 SparkStreaming 整合 Kafka 的教程。文中含代码&#xff0c;感兴趣的朋友可以复制动手试试&#…

PerfDog-移动端性能测试-基本使用

常见的腾讯性能测试工具&#xff1a;腾讯gt、腾讯wetest、腾讯perfdog 腾讯perfdog&#xff1a; https://perfdog.qq.com/ 一、介绍&#xff1a; 移动全平台iOS/Android性能测试、分析工具平台。快速定位分析性能问题&#xff0c;提升APP应用及游戏性能和品质。手机无需ROOT/越…

网易云音乐的消息队列改造之路

十年文案老司机&#xff0c;不如网易评论区。 网易云音乐自2013年上线后&#xff0c;业务保持了高速增长。云音乐除了提供好听的音乐外&#xff0c;还留下了我们在乐和人上的美好回忆。本文整理自网易云音乐消息队列负责人林德智在近期 Apache Flink&RocketMQ Meetup 上海…

OSS在线迁移服务剖析

在前迁移说明 目前由于 OSS 数据迁移服务涉及到对目标的 OSS 要有很多 action 的 API 授权&#xff0c;为避免用户产生过多的学习成本&#xff0c;我们直接强制使用主账号进行迁移&#xff1b;该服务正在公测中&#xff0c;目前仍在免费使用阶段&#xff1b;服务使用需要提前工…

JavaScript-变量的作用域 、const、let

作用域 局部函数 在javascript中&#xff0c;var定义变量实际是有作用域的。 假设在函数体中声明&#xff0c;则在函数体外不可以使用~&#xff08;如果非要使用的话&#xff0c;可以用闭包&#xff09; function qj() {var x 1;x x 1; } x x 2; // Uncaught Referenc…

idea 开启Run DashBoard

文章目录1.项目的.idea文件夹下&#xff0c;打开workspace.xml文件2. 添加 RunDashboard 节点&#xff1a;IDEA中&#xff0c;run dashboard是一个直观、方便好用的面板 1.项目的.idea文件夹下&#xff0c;打开workspace.xml文件 2. 添加 RunDashboard 节点&#xff1a; <co…

那些你不知道的 LVS 秘密!

作者 | 故事凌责编 | 郭芮近来在群里,看到大家说对lvskeepalived不太了解&#xff0c;我想我应该是有发言权的。自己本身就是运维出身&#xff0c;原来在京东物流的时候&#xff0c;lvskeepalived就是仓库物流在用的&#xff0c;踩了很多坑&#xff0c;只不过后来都上云了&…

从零到破万节点!支撑618大促背后的蚂蚁金服Kubernetes集群

2019年天猫618大促&#xff0c;蚂蚁金服首次在大促中对调度系统和技术栈全面应用Kubernetes&#xff0c;突破了Kubernetes单集群万节点的规模&#xff0c;总节点数达到数十万个&#xff0c;这是世界最大规模的 Kubernetes 集群之一&#xff0c;而这距离开发团队下载Kubernetes代…

MongoDB 定位 oplog 必须全表扫描吗?

MongoDB oplog &#xff08;类似于 MySQL binlog&#xff09; 记录数据库的所有修改操作&#xff0c;除了用于主备同步&#xff1b;oplog 还能玩出很多花样&#xff0c;比如 全量备份 增量备份所有的 oplog&#xff0c;就能实现 MongoDB 恢复到任意时间点的功能通过 oplog&am…

JavaScript-方法

方法的定义 方法就是把函数放在对象里面 var wang {name: 网络,birth: 2020,// 方法age: function () {// 今年 - 出生的年var now_year new Date().getFullYear();return now_year-this.birth} } // 属性 wang.name // 方法&#xff0c;一定要带() kuangshen.age()拆开上面…

Python程序员30行代码素描表白!网友:花里胡哨

总有人说程序员不够浪漫&#xff01;其实我们只是没时间而已&#xff0c;等我们有时间了&#xff0c;还有普通人什么事儿&#xff1f;最近就有一个小伙伴上热搜了&#xff01;原来他用Python给可爱的女朋友画了一幅素描&#xff01;不到30行代码&#xff0c;一起来学学给她一个…

解读NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎

NoSQL最早起源于1998年&#xff0c;但从2009年开始&#xff0c;NoSQL真正开始逐渐兴起和发展。回望历史应该说NoSQL数据库的兴起&#xff0c;完全是十年来伴随互联网技术&#xff0c;大数据数据的兴起和发展&#xff0c;NoSQL在面临大数据场景下相对于关系型数据库运用&#xf…

使用EMR-Kafka Connect进行数据迁移

1.背景 流式处理中经常会遇到Kafka与其他系统进行数据同步或者Kafka集群间数据迁移的情景。使用EMR Kafka Connect可以方便快速的实现数据同步或者数据迁移。 Kafka Connect是一种可扩展的、可靠的&#xff0c;用于在Kafka和其他系统之间快速地进行流式数据传输的工具。例如可…

亚信安全发布“安全定义边界”2020发展理念 赋能企业在5G时代的数字化安全运营能力

2020年4月21日&#xff0c;以“信行合一 聚势致远”为主题的亚信安全2020合作伙伴大会正式在云端拉开帷幕&#xff0c;超过1500家生态伙伴相聚云端&#xff0c;在为期3天的大会上共话安全&#xff0c;共商发展。会上&#xff0c;亚信安全正式发布“安全定义边界”2020发展理念&…

JavaScript-Date日期对象

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <script>const now new Date(); // Tue Aug 10 2021 15:32:27 GMT0800 (中国标准时间)now.g…

如何实现input输入框自带清除按钮

最近&#xff0c;项目中需要&#xff0c;在输入框获取焦点是动态显示“”图标。即在输入框中输入内容时&#xff0c;右边显示“”按钮&#xff1b;输入框为空时&#xff0c;“”按钮消失。难点在于获取焦点的同时&#xff0c;获取输入内容。 注意&#xff1a;本例子的样式基于…

python-解码 decode 报错的问题

当解码使用默认的 decode() 拨错时&#xff0c;可以设置 errors 参数的值来解决 print(line) line_de_replace line.decode(errorsreplace).strip() # 用&#xff1f;代替 print("line_de_replace:", line_de_replace) line_de_ignore line.decode(errorsignore)…