[TOC]
#### 箭头函数
如果参数只有一个,可以不用加传参的小括号
如果函数内容只有一行,可以不用加花括号和return,会直接返回=>后面的结果
let pf = x=>x*x;
let foo = (x,y)=>x+y;
let foo = (x,y)=>{
x++;
y++;
return x*y;
}
document.write(foo(3,4));
#### 设置默认值
let foo = (x,y=1)=>{
return x*y;
}
document.write(foo(4));
#### 神奇的三点
1.如果...arr当做形参,功能就是用来接收多余的参数
let foo = (x,y,...arr)=>{
//hd是一个数组,存放多传入的参数
console.log(arr);
};
foo(1,2,'a','b','c')
2.如果...arr写在实参中,就表示将arr拆散
let foo = (x,y,z)=>{
return x*y*z;
}
let arr = [3,4,5];
document.write(foo(...arr));
let arr = [4,5];
document.write(foo(3,...arr));
#### 解构赋值
1.数组的解构赋值
let [hd,url] = ['后盾人','www.houdunren.com'];
console.log(hd);
console.log(url);
2.解构赋值就是"模式匹配",说白了,只要是左右两边结构一样,就能一一对应
let [x,[[y],[[z]]],q] = [1,[[2],[[3]]],4];
console.log(x);
console.log(y);
console.log(z);
console.log(q);
eg:值的互换
<script type="text/javascript">
var x = 1;
var y = 2;
//var z = x;
//x = y;
//y = z;
let [x,y] = [y,x];
console.log(x);
console.log(y);
</script>
#### 对象的解构赋值
对象的解构赋值,左右两边的变量名要一样,和对象中变量的顺序没有关系
<script type="text/javascript">
//let {hd,url} = {hd:'后盾人',url:'www.houdunren.com'};
//let {hd,url} = {url:'www.houdunren.com',hd:'后盾人',year:'2018'};
//结构并且重命名
let {hd:h,url:u} = {url:'www.houdunren.com',hd:'后盾人',year:'2018'};
console.log(h);
console.log(u);
</script>
#### 字符串的解构赋值
let [x,y] = [1,2];
console.log(x,y);
//let [x,y,z] = '后盾人';
console.log(x);
console.log(y);
console.log(z);
//x、y、z分别对应后、盾、人
let {length:l} = '后盾人';
console.log(l);
运行结果:3
#### 函数参数的解构赋值
function foo([x,[[y]]]){
return x*y;
}
document.write(foo([3,[[4]]]));
- html&jquery网页特效
- 标签分类及特点
- 关于文字标签
- 网页定时跳转
- css透明度和插件
- 0.前端常用工具
- 1.tab切换效果
- 2.tab切换效果多个代码复用
- 3.百度新闻导航条效果
- 4.解决鼠标移入过快的问题
- 5.滚动条位置
- 6.元素尺寸
- 7.全选反选操作
- 8.固定定位
- 9.开关效果
- 10.节点操作
- 11.仿小米商品展示效果
- 12.仿小米商品展示效果复用
- 13.固定导航栏效果
- 14.凡客轮播图效果
- 15.顶部下滑广告效果
- 16.京东左右滑动轮播图
- 17.京东左右滑动无缝轮播图
- 18.选择器
- 19.筛选
- 20.开关效果
- 21.滑动效果
- 22.小米商品效果css实现
- 23.元素水平垂直居中
- laravel5.6
- LARAVEL 介绍&安装
- javascript & css 脚手架
- php常用工具类
- 安装laravel-ide-helper增强代码提示
- 使用migration创建表和数据填充
- 解决mysql5.7以下laravel不能执行数据迁移的问题
- 路由
- 登陆操作自定义模型
- 使用中间件middleware进行登录权限验证
- 进行表单验证处理
- 使用laracasts-flash定制消息提示
- 资源路由
- 宝塔面板安装fileinfo扩展
- laravel上传处理与使用hdjs快速实现前端上传组件
- thinkphp
- phpstorm
- phpstorm安装插件
- 定义快捷键
- 关闭提示
- 将代码实时同步到远程服务器
- sublime
- composer
- git使用
- git安装和配置作者信息
- git新建项目和维护项目
- git日志操作
- git别名操作
- git分支操作
- git生成发布压缩包
- git系统别名
- gitrebase操作
- 使用SSH与GITHUB远程服务器进行无密码连接
- 本地版本库主动使用remote与远程GITHUB进行关联
- 本地分支与GITHUB远程分支同步
- 项目实战-新入职员工参与项目开发时分支使用
- 自动部署
- ios开发
- linux
- 1.centos6.5 mysql忘记登入密码
- html5
- 标签
- 表单
- 音频与视频
- webstorage储存
- canvas
- css3
- 01.CSS3布局
- 02.transition动画
- 03.animation动画
- 04.flex弹性盒模型
- Less
- gulpjs
- es6
- ES6模块化
- let和const命令
- ES6函数扩展&解构赋值
- JavaScript之数据遍历
- class类
- Set和Map数据结构
- Vue
- 1.创建第一个应用
- 2.属性动态绑定
- 3.表达式
- 4.解决phpstorm不识别ECMASCRIPT6语法的问题
- 5.watch监听属性
- 6.使用object与array控制class
- 7.条件渲染
- 8.循环
- 9.变异方法
- 10.事件
- 11.表单
- 12.组件
- 13.css过渡动
- 14.js库控制vue过渡动作
- 15.自定义指令directive
- 16.使用vue-cli初始化单页面应用
- 17.Vue-router路由
- 18.vuex
- 19.vue-cli
- webpack
- zanui
- nodejs