ES6学习总结之解构赋值及字符串模板

解构赋值 (*非常有用,特别在做数据交互时ajax)

1.将右边数据导入左边,相当于给左边数据起的别名
例1:let [a,b,c] = [12,5,6]
console.log(a,b,c); //12,5,6
注意:左右两边,解构格式保持一致
let [a,[b,c]] = [12,[5,6]];
2.解构json
例2:let json={
name:'abc',
age:18,
job:'aa'
}
let {name,age,job:j} = json;
console.log(name,age,job) //'abc' 18 'aa'

let {name,age, job:j} = json; //j是job的别名
console.log(name,age,j) //'abc' 18 'aa'
3.在解构时可以给默认值
例3:let [a,b,c]=['1',‘2’]; console.log(a,b,c) //1 2 undefined
let [a,b,c=“暂无数据”]=['1',‘2’] console.log(a,b,c) //1 2 暂无数据
let [a,b,c]=['1',‘2’,null]; console.log(a,b,c) //1 2 null
let [a,b,c='暂无数据']=['1',‘2’, null]; console.log(a,b,c) //1 2 null null表示有值
4.交换两个数的位置
例4:let a=14;
let b=4;
[a,b]=[b,a];
console.log(a,b); //4 14
5.小应用:函数的返回值可以直接解构
例5 :function getPos(){
return {
right:10,
left:20
}
}
let {right,left} = getPos();
console.log(right,left) //10 20
6.小应用:函数传参也可以解构
例6:function fn({a,b}){
console.log(a,b); //1 2
}
fn({
a:1,
b:2
})
字符串模板以及新增方法
let name = 'abc'';
let age = 18;
let str = `我叫${name},年龄${age}`;
console.log(str);
1.ajax动态生成时
实例:
无字符串模板时
<script>
let data=[
{'title':'年末好几次','read':56},
{'title':'年末几次','read':57},
{'title':'年末年末年末好几次','read':58},
{'title':'年末年末年末年末年末年末好几次','read':59}
]
window.onload = function(){
var oUl=document.getElementById('ul1');
for(let i=0;i<data.length;i++){
var oLi = document.creatElement('li');
oLi.innerHtml = '<sapn>'+data[i].title+'</span>'
+'<span>阅读人数'+data[i].read+'<span>';
oUl.qppendChild(0Li);
}
}
</script>
<body>
<ul id="ul1"></ul>
</body>
字符串模板(重点)
var oUl=document.getElementByid('ul1');
for(let i=0;i<data.length;i++){
var oLi = document.creatElement('li');
oLi.innerHtml = `<sapn> ${data[i].title} </span>
<span>阅读人数 ${data[i].read} <span>;
oUl.qppendChild(0Li)`;
}
}
优点:可以自动换行
可以用${}将本地变量嵌入到字符串中
2.字符串查找方法:
(1)str.indexof('串1'):返回串1的位置,反之返回-1
str.includes ('串1'):是否包含串1,有就返回true,反之false
例1:let str ="apple banana orange";
console.log(str.includes('apple')); //true
例2:判断浏览器
if(nacigator.userAgent.includes('chrome')){
console.log('是chrome');
}else{
console.log('不是chrome');
}
(2)字符串是否以什么开头
str.startsWith('串2') :检测str是否以串2开头,是则返回true,反之返回false
例如:检测协议
(3)字符串是否以什么结尾
str.startsWith('串3') :检测str是否以串3结尾,是则返回true,反之返回false
例如:检测文件后缀名
(4)重复字符串:
str.repeat(次数) :返回重复后的str 注:次数不能为负数,否则会报错
(5)填充字符串:
str.padStart(整个字符串的长度,填充的东西) :往前填充
例1:console.log('a'.padStart(4,'XXX')) //XXXa
例2:
let str="a";
let padstr='XXX';
console.log(str.length+padstr.length,padstr); //XXXa
str.padEnd(整个字符串的长度,填充的东西) :往后填充


(前端小白,如有错误,欢迎指正,在此感激不尽)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值