ES6基础(2)函数扩展

聚类中出现CondaError: Cannot link a source that does not exist.错误 CondaError: Cannot link a source that does not exist.D:\ancoda\Scripts\conda.exe Running `conda clean --packages` may resolve your problem.Anaconda安装库时出错问题解决 Running conda clean --packages may resolve... 阅读详情

1. 函数扩展 参考:http://es6.ruanyifeng.com/#docs/function

(1)函数参数默认值。例如:function log(x, y = “world”){}, y就是有默认值。

  1. 参数不要重名。重名会有其他隐患存在,避免使用。
  2. 参数默认值不是传值的,而是每次都重新计算默认值表达式的值。也就是说,参数默认值是惰性求值的,最好不要使用表达式。
  3.  函数传对象参数。例如:function fetch(url, {body = ‘’, method = “GET”, headers = {}} = {}),定义对象如果赋予 {},则该参数可以省略,否则必填。
  4. 含有默认值的参数最好放在函数尾部,这样该参数可以省略,否则必填(可填undefined使用默认值)。
  5. 函数length,length属性等于参数个数减去默认值参数个数。

(2)rest参数

        rest参数(形式为 ...变量名),用于获取函数多余参数,这样可以避免使用arguments对象,例如:

function digitalOperation(accord, sum = 0,...nums){
   for(let i of nums){
     if(accord === '+'){
       sum = sum + i;
     }
     if(accord === '-'){
       sum = sum - i;
     }
     if(accord === '*'){
       sum = sum *i;
     }
     if(accord === '/'){
       sum = sum /i;
     }
  }
  return sum;
}

 

(3)箭头函数(=>)

例如:let sum = (num1, num2) => num1 + num2;

      let sum = (num1, num2) => {return  num1 + num2};

      两者效果一样,箭头函数直接返回对象多余一行代码则必须使用{

包裹起来。

注意点:1.函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

             2. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

             3. 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

             4. 不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

 (4)双冒号运算符” :: ”。该运算符会自动将左边的对象、函数,绑定到右边的函数对象上。


增量式PID的P和I怎么理解(一) 增量式PID的P、I理解之推翻片 据我所知的资料里关于PID三个参数的理解是这样的:(我这里只说P和I,先不说D) P的作用:比例P可以加快系统调节速度,P过小调节时间变长,响应性不够,P越大响应性越高超调也越严重,过大的P会使系统振荡。 I的作用:消除静差,提高控制精度,I越大越滞后,过大会使系统振荡。 ... 阅读详情

相关推荐

『与善仁』Appium基础 — 19、元素定位工具之UI Automator Viewer

文章目录(一)uiautomatorviewer定位工具1、uiautomatorviewer介绍2、uiautomatorviewer工具打开方式3、uiautomatorviewer布局介绍4、uiautomatorviewer工具的使用 之前我们在做web页面自动化的时候就说过,元素定位是页面自动化的第一步。 同理App自动化测试的第一步,也是元素的定位。 在APP中定位元素的话,需要借助一些元素定位工具。 APP中的元素定位工具大致有三种: uiautomatorviewer Appium Ins

繁华似锦Fighting 1521

jsplumb - Cannot establish connection - source does not exist

可能的原因有几个: source 或者 target 的元素 id 不存在 id 是中文

Charonmomo的博客 2352

ThingsBoard入门实战(二):ThingsBoard 设备接入

文章目录ThingsBoard 设备接入一、设备配置/设备类型二、设备三、设备接入HTTPCOAPMQTT四、下一步 ThingsBoard 设备接入 设备接入并不一定需要真正的设备,我们可以通过程序。或者命令来模拟设备,向平台发送信息。 这节我们先为用户分配一个设备,然后通过模拟设备命令更新设备的状态(遥测值)。 一、设备配置/设备类型 添加一个叫"路灯"的设备配置。 设备配置听起来比较抽象,可以认为是设备类型或者是设备类型的配置。实际上,ThingsBoard 中很多时候让选择设备类型,就是选的这个。

AIGC搞起 1万+

jsPlumb的学习使用(一):引入项目和基础示例

jsplumb是一个可以用来实现可视化功能的前端应用库,如果在开发过程中遇到需要实现一些流程图、拓扑图或者是导力图等可视化的功能,就可以使用jsplumb这个库来实现.在文章中,我就不将api具体的每一个参数都罗列出来了,具体每一个配置的参数集文档中都有.我主要是解释一下这些api的作用。

m0_54741495的博客 2317

Mac用户必看:Parallels Desktop 18.1.1最新破解版安装与优化全攻略(附资源)

本文为Mac用户提供Parallels Desktop 18.1.1的详细安装与优化指南,涵盖虚拟化技术选型、专业级配置流程及性能调优技巧。重点解析Parallels Desktop在图形加速、系统资源调度方面的核心优势,并分享生产力增强技巧与典型应用场景实战方案,帮助用户最大化利用这一高效虚拟化工具。

weixin_29240343的博客 828

海康安防平台接口调试指南:从签名生成到Vue项目集成

本文详细解析了海康安防平台接口认证规则,从签名生成到Vue项目集成的完整流程。通过核心机制解析、签名工具使用技巧及Vue项目中的优雅集成方案,帮助开发者高效完成接口调试,避免常见问题。特别适合需要将海康安防平台接口集成到Vue项目中的开发者参考。

weixin_42533120的博客 439

vscode远程连接失败:Could not establish connection to... 过程试图写入的管道不存在 (已解决)

Could not establish connection to... VScode远程连接失败

wtl666_6的博客 2万+

HDMI设计6--Video PHY Controller IP

Reference:https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/vid_phy_controller/v2_2/pg230-vid-phy-controller.pdf 1. 序 Video PHY Controller IP是为实现与视频(DisplayPort和HDMI™技术)MAC传输或接收子系统的即插即用连接而设计的。视频MAC层和PHY层的接口是标准化的,能...

Archar_Saber的博客 8342

谷歌浏览器报错: Could not establish connection. Receiving end does not exist.

最近在调试嵌套路由的代码时,发现如下这样一条报错信息,说无法建立连接,接收端不存在。我确定了下不是代码问题,有人说是扩展程序问题 然后打开chrome://extensions/查看插件 我关闭了下油猴 发现不再报错了 然后再打开,发现依然没问题了 可能不同的情况要关闭不同的插件,具体分析 ...

weixin_43848654的博客 1万+

Verilog语法之十:过程块(initial和always)

我将Verilog的语法进行了总结,写了13篇文章,让小白“快速见识猪如何跑”,每一篇讲解一类语法,结合正确的示例代码和错误的示例代码,有的章节对个别语法进行了归纳总结,帮助初学者加深理解。

航天领域资深码农,型号经验丰富,一线干货分享 1673

TDS水质检测传感器原理图设计,已量产(液体传感器)

最近调试了一款针对生活用水、水培系统的 TDS 水质检测模块 —— 毕竟 TDS(总溶解固体)值直接关联水的洁净程度,是这类场景里既实用又易获取的水质指标。下面拆解下这个电路的设计逻辑,说说每个部分是怎么配合实现精准检测的。

不脱发的程序猿 1548

es6函数的扩展

剩余语法(Rest syntax 也可以叫剩余参数)看起来和展开语法完全相同都是使用...的语法糖,不同之处在于剩余参数用于解构数组和对象。从某种意义上说,剩余语法与展开语法是相反的:展开语法将数组展开为其中的各个元素,而剩余语法则是将多个元素收集起来成为一个整体。在编程中使用最多的就是函数,在 ES5 中是用function关键字来定义函数的,由于历史原因function定义的函数存在一些问题,如this的指向、函数参数arguments等。ES6 规定了可以使用 “箭头”=>

热情、奔放、快乐编程! 1554

从开发到生产:Power APP 的应用和编程实践

一旦您在开发环境中完成了应用程序的开发、调试和测试,就可以将其部署到生产环境中供用户使用。在 Power APP Studio 中,您可以选择将应用程序发布到 Power APP 网关或将其嵌入到其他应用程序中。使用 Power APP Studio 内置的调试工具,您可以逐步执行应用程序并查看变量的值,以确保逻辑的正确性。在上述代码中,我们通过将两个文本输入框(TextInput1 和 TextInput2)中的文本转换为数字,并将它们相加,将结果存储在 Result 变量中。

2301_79326510的博客 1504

ES6之函数的扩展

ES6(ECMAScript 2015)对函数进行了多方面的扩展,旨在提高代码的简洁性、可读性和功能性。

BradenHan的专栏 1215

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ES6基础-ES6的扩展

进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符串的扩展: 模板字符串,部分新的方法,新的unicode表示和遍历方法: 部分新的字符串方法 padStart,padEnd,repeat,startsWith,endsWith,includes 字...

程序员哆啦A梦,蓝胖子 5069

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【前端】ES6:数值扩展、对象扩展、函数扩展

但是 fun 因为是箭头函数,所以 this 不指向 obj,而是指向 fun 的外层,就是 window。按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。按照我们之前的 this 指向来判断,两个都应该指向 obj。使用自己想要的参数替换原数组内容,但是会改变原来的数组。箭头函数是 ES6 里面一个简写函数的语法方式。将一组值转化为数组,即新建数组。方法判断两个值是否是相同的值。将类数组对象转换为真正数组。

weixin_45980065的博客 1189

【ES6】函数的扩展:函数的默认参数

【ES6】函数的扩展:函数的默认参数

wyh1355420282的博客 1427

ES6中函数的扩展

ES6中函数的扩展一、箭头函数使用注意点二、函数的不定参数三、函数的拓展实参 一、箭头函数 let fn=(num1,num2)=>{ return num1+num2 } let fn=num1=>num1+num2 简写注意事项 省略小扩号:当参数只有一个时 省略大扩号:当函数体只有一句时, 当函数体只有一句时,且是return的返回值时,return省略 返回的对象格式:参数=>({ 对象}) let arr = [0, 1, 2, 3]; var obj = arr.ma

wb199811的博客 3487

es6-函数扩展

函数默认值+解构赋值 默认值:给函数参数添加默认值更加简洁。 // ES5 添加默认值 function fun (x, y) { y = y || 5; } // ES6 添加默认值 function fun (x, y = 5) { } 优点: 1.带默认值的参数写在最后,可以省略不传。 2.更新版本时,可以将默认值参数去掉。 参数的默认值还可以是变量 function fun (x...

qq_32754575的博客 4076

ES6之对象的扩展

TOC?/TOC。

BradenHan的专栏 1309

ES6,新增语法整理之函数的扩展

变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。setTimeout()如果是普通函数,this将指向window,箭头函数导致this总是指向函数定义生效时所在的对象(本例是{name: ‘张三’}),所以打印出来的是。由于箭头函数没有自己的this,所以当然也就不能用call()、apply()、bind()这些方法去改变this的指向。在 ES6 之前,不能为函数的参数指定默认值,通常采用如下方法实现。

m0_37749760的博客 1048

[ES6]函数扩展

函数扩展 1、参数默认值 2、参数解构赋值 3、rest参数 4、…扩展运算符 5 、箭头函数 1.参数默认值 以前给参数默认值的做法 function foo(param){ let p = param || 'hello'; console.log(p); } foo('hi'); ES6 function foo(param = 'nihao'){ con...

ByeBye(野蛮生长) 289

ES6入门—ES6的数组与函数

本文介绍了 babel 的概念;ES6 声明变量里面的 let、const 方法;ES6 数组的 apply 方法和扩展运算符;以及 ES6 函数参数默认值与解构赋值结合、rest 和 参数箭头函数。

weixin_44009656的博客 975

ES6——8.函数的扩展

ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。参数变量是默认声明的,所以不能用let或const再次声明。使用参数默认值时,函数不能有同名参数。另外,一个容易忽略的地方是,参数默认值不是传值的,而是每次都重新计算默认值表达式的值。也就是说,参数默认值是惰性求值的。上面代码中,参数p的默认值是x + 1。这时,每次调用函数foo,都会重新计算x + 1,而不是默认p等于 100。

chtazycdf的博客 1190

ES6函数和对象的扩展

函数的运行结果(即函数名之后有一对圆括号),这表明参数的默认值不是在定义时执行,而是在运行时执行(即如果参数已经赋值,默认值中的函数就不会运行),这与python语言不一样。是一个Generator函数,执行后返回的是一个遍历器对象,对这个遍历器对象执行扩展运算符,就会将内部遍历得到的值,转为一个数组。方法返回一个对象,所有原对象的属性名都是该对象的属性名,对应的属性值就是该属性的描述对象。该运算符将一个数组,变为参数序列。上面代码中,属性名为数值的属性,是按照数值大小,从小到大遍历的,因此返回的顺序是。

g841805的博客 1256

ES6函数扩展

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ES6 函数扩展</title> </head> <body> <script type="text/javascript"> //函数扩展 function foo(a,b){ a=a||0; b=b||0; return .

soos的博客 215
上一篇: ES6基础(1)
下一篇: js 树形结构整合
黄祚敏
博客等级 码龄10年 22粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值