当前位置: 首页 > 编程日记 > 正文

(6)解构赋值的用途

解构赋值的用途
1.交换变量的值

var a = 100;
var b = 200;
var t;
t = a;
a = b;
b = t;
//解构赋值的写法完成【ES6交换变量的值】
var x = 100;
var y = 200;
[x, y] = [y, x];
console.log(x);
console.log(y);
优点1:直观
优点2:一一对应
优点3:节省内存空间(不用多申请变量)

2.从函数返回多个值

//从函数返回多个值_返回一个数组
function fun () {return [1, 2, 3];
};
console.log(fun()[1]); //2function fun () {return [1, 2, 3];
};var [x, y, z] = fun();
console.log(x); //1
console.log(y); //2
console.log(z); //3//从函数返回多个值_返回一个对象  (取值方便可读性更好)
function fun () {return {id   : '007',name : 'jewave',age     : 26};
};var { id, name, age} = fun();
console.log(id);//7
console.log(name);//jewave
console.log(age);//26var { id: person_id, name: person_name, age: person_age} = fun();
console.log(person_id);
console.log(person_name);
console.log(person_age);

3.函数参数的定义

(1)参数是一组有次序的值(通常用其他函数将参数封装成“数组的解构赋值”来解构)
fun([100, 200, 300]);
function fun ([x, y, z]) {//x = 100;  y = 200; z = 300;
};(2)参数是一组无次序的值(通常用其他函数将参数封装成“对象的解构赋值”来解构,例如ajax)
fun({id: '007', name: 'jewave', age: 26});
function fun ({id, name, age}) {//id =  '007'; name = 'jewave';  age= 26;
};

4.提取json数据

var jsonData = {id: '007', name: 'jewave', age: 26,score:{chinese: 98}
};
//console.log(jsonData);
console.log('name is' + jsonData.name);
console.log('age is' + jsonData.age);
console.log('chinese score is' + jsonData.score.chinese);//98

console.log('ES6');
let { id: number, name, age, score: score } = jsonData;
console.log(number);
console.log(age);
console.log(score.chinese);

5.函数参数的默认值

//之前的写法,以jQ中的ajax为例
jQuery.ajax({url: '/path/to/file',type: 'POST',dataType: 'xml/html/script/json/jsonp',data: {param1: 'value1'},complete: function(xhr, textStatus) {//called when complete
  },success: function(data, textStatus, xhr) {//called when successful
  },error: function(xhr, textStatus, errorThrown) {//called when there is an error
  }
});//解构赋值写法
jQuery.ajax = function (url, {async = true,beforeSend = function () {},cache = true,complete = function () {},crossDomain = false,global = true,//...more config
})  {//... do stuff
};
//避免了在函数体内再写 var foo = config.foo || 'default foo';

6.遍历Map结构

var map = new Map();
map.set('id','007');
map.set('name','jewave');consle.log(map);
for(let [key, value] of map) {console.log(key + 'is' + value);
}
//{'id'=>'007','name'=>'jewave'}
//id is 007
//name is jewave//获取键名
for(let [key] of map) {console.log(key);
}
//id
//name
//

//获取键值
for(let [,value] of map) {console.log(value);
};

7.输入模块的指定方法

输入模块的指定方法(RequireJS.js框架为例)
const { SoureMapConsumer, SourceNode } = require('source-map');

转载于:https://www.cnblogs.com/jewave/p/6238607.html

相关文章:

python lstm_python-Keras中LSTM的补充

好的,所以您的问题让我开始思考,我想我已经解决了,但是什么都没有.这是我为获取LSTM实现背后的一些见识而编写的代码段.from keras.layers import LSTMfrom keras.models import Sequentialmodel Sequential()model.add(LSTM(10, input_shape(20, 30), return_sequencesTrue))…

Jtabbedpane设置透明、Jpanel设置透明

摘自https://zhidao.baidu.com/question/983204331427010139.htmljava中如何设置Jtabbedpane为透明 20在Jtabbedpane下有背景图片,如何设置让他透明呢?0oo宝贝xxX |浏览 1147 次 |举报我有更好的答案2014-12-30最佳答案你好,你可以增加以下代…

mysql 按日期删除数据库_DAY11 - MySQL入门(数据库的增、删、改、查 基本操作)...

一、 数据库的介绍二、 MySQL的基本语法l 注释:单行注释: #注释内容单行注释: -- 注释内容(注意,两个“--”之后有一个空格)多行注释: /*注释内容*/l 语句行:一条语句也称为一条命令,通常用一个…

LeetCode之461. Hamming Distance

------------------------------------------------------------------ AC代码: public class Solution {public int hammingDistance(int x, int y) {return Integer.toString(x^y,2).replaceAll("0","").length();} } 题目来源: h…

机器学习模型 知乎_机器学习:模型评估之评估方法

​机器学习已经成为了人工智能的核心研究领域之一,它的研究动机就是为了让计算机系统具有人的学习能力以便实现人工智能。目前,关于机器学习定义的说法比较多,而被广泛采用的定义是“利用经验来改善计算机系统自身的性能”​。由于“经验”的…

NSDate NSCalendar NSString之间的故事以及转换

1.NSDate 和 NSString 之间的转换 这之间的转换主要依靠NSDateFormatterNSDate <------> NSStringNSDateFormatter *formatter [[NSDateFormatter alloc]init];formatter.dateFormat "yyyy-MM-dd HH:mm:ss";NSString *strDate [formatter stringFrom:date];…

bzoj 4695: 最假女选手

……一道丧病线段树膜板题…… 被常数卡的死去活来……QAQ 学到了些奇技淫巧&#xff1a;把取min标记 和 区间最小值 合并 可以快很多…… #include <bits/stdc.h> #define lc(t) ((t) << 1) #define rc(t) (((t) << 1) | 1) #define N 2000010 #define INF …

python 打包 .app 运行 控制台窗口_Python打包工具

1 Python打包工具目前在windows平台上将Python程序打包成exe文件主要有三个工具。今天将一个Tkinter写的界面程序打包成exe文件&#xff0c;三个工具都试了一遍&#xff0c;感觉PyInstaller会比较好用一些。2 py2exe2.1 下载安装2.2 启动脚本写一个setup_py2exe.py文件from dis…

地址池命令 思科理由_思科互联网络操作系统 ——路由器接口

点击蓝字关注我们路由器接口接口配置是最重要的路由器配置之一&#xff0c;因为若没有接口,路由器几乎就毫无用处。另外&#xff0c;要与其他设备通信&#xff0c;接口配置必须绝对精确。配置接口时&#xff0c;我们需要指定网络层地址、介质类型和带宽,还需使用其他管理命令。…

mysql数据去重语句_数据库 mysql 语句

LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Php语言mysql:常用代码create table CeShi1(Uid varchar(50) primary key,Pwd varchar(50),Name varchar(50),Nation varchar(50),foreign key(Nation) references Nation(Code))写查询语句需要注意&#xff1a;1.创建表的时候&…

mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别

转载地址: https://www.cnblogs.com/exmyth/p/3616672.html在mysql中存在着各种utf8编码格式&#xff0c;如下表&#xff1a;1&#xff09;utf8_bin2&#xff09;utf8_general_ci3&#xff09;utf8_general_csutf8_bin将字符串中的每一个字符用二进制数据存储&#xff0c;区分大…

利用闭包实现多次ajax请求只执行最后一次

点一个按钮&#xff0c;则向服务器请求资源&#xff0c;不作处理时&#xff0c;多次点击后会有很多个请求在等待。我们知道一般我们用ajax是异步请求&#xff0c;那么我们快速重复点击一个按钮得到的结果其实我们并不知道是哪次点击的结果可能是第一次可能是最后一次也可能是第…

3dmax批量导出fbx_推荐一款超实用的3DMAX插件——模法师

模法师集成于3DMAX上&#xff0c;到老子云平台下载插件后&#xff0c;直接双击运行安装就能使用了。有多好用呢&#xff1f;好比游戏开了挂&#xff0c;效率瞬间翻几番。主要提供三大功能&#xff1a;1、批量格式转换简单地说&#xff0c;你可以把大量模型文件&#xff0c;同时…

python实现平衡二叉树_LeetCode 110. 平衡二叉树 | Python

# 110. 平衡二叉树---题目来源&#xff1a;力扣(LeetCode)[https://leetcode-cn.com/problems/balanced-binary-tree](https://leetcode-cn.com/problems/balanced-binary-tree)## 题目---给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。本题中&#xff0c;一棵高度…

「欧拉定理」学习笔记(费马小定理)

欧拉定理&#xff1a;对于互质的两个正整数$a, n$&#xff0c;满足$a^{φ(n)} ≡ 1\ (mod\ n)$ 证明&#xff1a; 设集合$S$包含所有$n$以内与$n$互质的数&#xff0c;共有$φ(n)$个&#xff1a;$$S \{ x_1, x_2, ..., x_{φ(n)} \} $$ 再设集合$T$&#xff1a;$$T \{ a * x…

Python将MySQL表数据写入excel

背景&#xff1a;将mysql表查询结果写入excel。 1.使用sqlyog工具将查询结果导出到Excel.xml中&#xff0c;用excel打开发现&#xff1a;因为text字段中有回车换行操作&#xff0c;显示结果行是乱的。 2.用mysql -uadmin -p -h -P -NBe"select * from tb;" >>a…

nacos动态配置数据源_Jasper 怎么配置动态数据源

Jasper 本身是不支持动态数据源的&#xff0c;能用的解决方式是通过 api 自定义数据源&#xff0c;实际操作就是根据条件判断后动态设定 jdbc 的 url、用户名及密码等连接属性。比如&#xff1a;String userName userDetails.getUsername();// obtain a connection based on t…

Linux命令之top

top –hv | -abcHimMsS –d delay –n iterations –p pid [, pid …] top程序提供运行系统的动态实时视图&#xff0c;它可以显示系统概要信息以及当前由Linux内核当前管理的任务列表。所示的系统概要信息的类型以及为任务显示的信息的类型、顺序和大小都是用户可配置的&#…

seal report mysql_Seal Report开放数据库报表工具(.Net)

概述&#xff1a;开放数据库报表工具(.Net)简介&#xff1a;Seal-Report提供了一个完整的框架&#xff0c;用于从任何数据库生成日常报告和仪表板。Seal-Report是Microsoft .NET Framework完全用C&#xff03;编写的开源工具。Seal Report算是报表工具中比较好用的一个&#xf…

注册亚马逊云服务

要英文填写还要字符限制&#xff0c;好严格 转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/6249805.html

行波iq调制器_高速InP基半导体电光调制器行波电极结构研究

【1】Winzer P J, Essiambre R J. Advanced modulation formats for high-capacity optical transport networks[J].Lightwave Technol., 2006, 24(12):4711-4728.【2】Dagli N.High-speed photonics device[M]. Taylor & Francis, 2007.【3】Zhang L,Sinsky J, Thourhout …

PIXI 下落文字消除(3)

图片示例&#xff0c;简陋的图&#xff0c;记录下落过程&#xff0c; 1、创建应用实例并添加到DOM元素上。 &#xff08;会看到一个黑色画布&#xff0c;没有任何元素&#xff0c;接下来会在画布上创建文字&#xff09; 2、创建 TextStyle 用来设置要显示字体样式 3、随机产生…

python魔术方法call_php魔术方法__call

__call是魔术方法中的一个&#xff0c;当程序调用到当前类中未声明或没权限调用的方法时&#xff0c;就会调用__call方法class test{public function emptyFunc(){$getArgs func_get_args();$funcName $getArgs[0];//$params array_slice($getArgs, 1);//var_dump($params);…

app启动时间命令

app启动&#xff1a; 冷启动和热启动 冷启动方式&#xff1a; adb shell am start -W -n package/activity 停止app命令&#xff1a; adb shell am force-stop package 热启动命令和冷启动命令一样 停止命令&#xff1a; adb shell input keyevent 3 查看package/activity命令&…

华为手机媒体音量自动静音_华为手机的音量键还可以这么用,涨见识!

身边很多朋友都是用的是华为手机&#xff0c;我就纳闷了&#xff0c;华为手机真的有那么好用吗&#xff1f;听朋友跟我细细说了一番&#xff0c;我被说动了&#xff0c;准备也去换一个华为手机&#xff0c;就冲它的音量键有那多妙用&#xff0c;我也不能错过一款华为手机&#…

Mui.ajax请求服务器正确返回json数据格式

ajax&#xff1a; mui.ajax(http://server-name/login.php,{data:{username:username,password:password},dataType:json,//服务器返回json格式数据type:post,//HTTP请求类型timeout:10000,//超时时间设置为10秒&#xff1b;success:function(data){//服务器返回响应&#xff0…

day1作业(格式化输出)

练习&#xff1a;用户输入姓名、年龄、工作、爱好 &#xff0c;然后打印成以下格式------------ info of Egon -----------Name : EgonAge : 22Sex : maleJob : Teacher ------------- end -----------------完成情况&#xff1a;in_nameinput(请输入您的姓名&#xff1…

rust 官服指令_RUST 命令大全(包括服务器指令)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼RUST MOD(以下在聊天框内输入)基本命令/share playername 【shares your doors with a player(共享你的门给一个玩家)】/unshare playername 【unshares your doors with a player(解除对一个玩家的门共享)】/help 【Shows command…

postgresql存图片字段类型_PostgreSQL 入门 | Linux 中国

安装、设置、创建和开始使用 PostgreSQL 数据库。-- Greg Pittman每个人或许都有需要在数据库中保存的东西。即使你执着于使用纸质文件或电子文件&#xff0c;它们也会变得很麻烦。纸质文档可能会丢失或混乱&#xff0c;你需要访问的电子信息可能会隐藏在段落和页面的深处。在我…

关于ES6中Promise的应用-顺序合并Promise,并将返回结果以数组的形式输出

1.Promise 基础知识梳理 创建一个Promise实例 const promise new Promise(function(resolve, reject) {if (success){resolve(value);} else {reject(error);} }); Promise构造函数接受一个函数作为参数&#xff0c;该函数的两个参数分别是resolve和reject。它们是两个函数&am…