字符串模板
-
`` 字符串模板:
优点: 可以随意换行
${变量名字}
字符串连接,要死人的。let name =‘Strive’;
let age = 18;
let str =这个人叫${name}, 年龄是 ${age}岁
;关于字符串一些东西:
字符串查找:
str.indexOf(要找的东西) 返回索引(位置) ,没找到返回-1
str.includes(要找的东西) 返回值 true/false判断浏览器: includes http://www.xxx.xx 字符串是否以谁开头: str.startsWith(检测东西) 检测地址 字符串是否以谁结尾: str.endsWith(检测东西) .png 重复字符串: str.repeat(次数);
函数变化:
-
扩展运算符、Rest运算符:
…展开数组
… :
[1,2,3,4] -> … [1,2,3,4] -> 1,2,3,4,5
…:
1,2,3,4,5 -> …1,2,3,4,5 -> [1,2,3,4,5]剩余参数: 必须放到最后
-
箭头函数
=>let show = () => 1;
() => return东西
() =>{
语句
return
}
箭头函数指向的this是当前定义内函数的对象
注意:
1. this问题, 定义函数所在的对象,不在是运行时所在的对象
2. 箭头函数里面没有arguments, 用 ‘...’
3. 箭头函数不能当构造函数
数组
-
循环 (代替普通的for循环)
arr.forEach(function(val,index,arr){
console.log(cal,index,arr);
})
arr.map() // 非常有用,做数据交互 “映射”正常情况下,需要配合return,返回是一个新的数组 若是没有return,相当于forEach 注意:平时只要用map,一定是要有return 重新整理数据结构: [{title:'aaa'}] -> [{t:'aaaa'}]
arr.filter(): 过滤,过滤一些不合格“元素”, 如果回调函数返回true,就留下来
arr.some(): 类似查找, 数组里面某一个元素符合条件,返回true
arr.every(): 数组里面所有的元素都要符合条件,才返回true其实他们可以接收两个参数:
arr.forEach/map…(循环回调函数, this指向谁);
如果hot==true 则 hot=真棒
for…of…:
- arr.keys() 数组下标
- arr.entries() 数组某一项
- for(let val of arr){
console.log(val); }