1 Star 0 Fork 0

Hanley / study-front

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
11th.html 3.81 KB
一键复制 编辑 原始数据 按行查看 历史
hanley 提交于 2018-06-06 23:42 . new content about promise
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>解构赋值</title>
<script>
/**
* 解构赋值 : 从数组和对象中提取值,对变量对象赋值
* 数组解构:按照顺序赋值
* 对象解构:按照属性名称赋值
*/
window.onload = function(){
//数组解构,等同于下面分开赋值
let[x,y,z] = [1,2,3];
//let y=2;
//let x=1;
//let z=3;
//如果变量值为:undefinded才会取默认值
let[a,,c] = [1,2,3]; //a=1,c=3 一一对应的
let[x1,y1,z1] = [1,,3]// x1=1,y1=undefinded,z1=3
let[a1,b1=6,c1] = [1,2,3]//默认值为6,赋值为2,最后值为2
let[l,m,n=6] = [1,2,,]//n未赋值,默认为6,最后值为6
let[l1,m1,n1] = [1,[7,8,9],3];//m1为数组 = [7,8,9]
let[l2,m2,n3] = [1,{'name':'hanley','age':20},3]//m2为对象
//函数对象,若其后有值[变量有值],不会执行函数求值,当值为空或undefinded才会执行函数求值
let[aa=f()] = [1];//aa=1
let[aa2=f()] = [];//aa2=8
function f(){return 8;}
//对象解构
var obj = {
name:'Hanley',
age:20,
msg:'success'
};
var {name,msg,age} = obj;
var{x,y} = {x:'100',y:'200'};
//x,y是匹配模式,变量名字实际是a,b
//x是匹配后面名称为x的属性,如果取值的话,实际变量是a
var{x:a,y:b} = {y:'aaa',x:'bbb'};
//简写模式,完整的写法是 var{x:x=1},1st x是匹配后面的x,2nd x才是变量的真实名字;
var{x=1} = {y:'aaa',x:'bbb'};
//x是匹配后面名称为y的值,对应的值为 'aaa',默认值为1
var {x:y=1} = {y:'aaa',x:'bbb'};
//已经声明变量的解构,需要加()
let x;
({x}={x:1})
var obj3={
name:'Hanley',
fridends:['a','b','c'],
members:{x:'abc',y:'xyz'}
}
var{name,fridends:f,members:m} = obj3;
f[1];// b
m.x;// abc
//字符串解构
let[a,b,c]= 'string'; // a=s,b=t,c=r
//函数解构-数组参数
function fun([x=20,y=30]){ //使用解构 方式,为函数设置默认值
return x+y;
}
fun([2,3]);
//函数解构-对象参数
function numm({x=0,y=0}){
console.log(x,y);
};
numm({x:2,y:5})
//这个有点难,不是很理解?
[[1,2],[3,4]].map(([a,b]) =>{return a+b});//3,7
var mystr = "hello world";
//substring(start,end);//开始位置,结束位置
//substr(start,end);//开始位置,截取长度
//indexOf();//判断字符串是否存在 -1表示不存在
mystr.includes('k') // 判断字符串是否存在,返回true/false
str.startsWith('hello',3);//是否头部,第二个参数表示搜索的位置
str.endWith("world")//是否结尾
var s2 = 's';
s2.padStart(4,'xs');//前面补全
s2.padEnd(4,'xy');//后面补全
//ES5:如果y有值,取y值,若y为undefined,y = '10';
function fn2(x,y){
y = y||'10';
}
//ES6 写法 y默认值为'10'
function fn2(x,y='10'){
}
}
</script>
</head>
<body>
</body>
</html>
1
https://gitee.com/thanlin/study.git
git@gitee.com:thanlin/study.git
thanlin
study
study-front
master

搜索帮助