ES6变量声明的关键字
var 全局作用域和函数作用域会变量提升
let 局部作用域不会变量提升不能重复声明
const 值类型不能修改,声明必须赋值,一般大写
结构
数组 定义把数组或对象解析为单独变量
基本格式 var [a,b,c="defult".....rest]=arr
,(逗号) 代表下一位
...rest 剩余所有(只能放在最后)
交换变量 [a,b]=[b,a]
对象 var{name,age,say="love you“...rest}=ob
对象解构没有顺序
展开
...arr arr展开为单独变量
字符串
检测
includes(sub)是否包含
startsWith(sub)以开头
endsWidth(sub)以结尾
去空白
trim()去掉两端空白
trimLeft()去掉左边空白
trimRight()去掉右边空白
<script type="text/javascript">
var str="我爱我的祖国";
for(let s of str){
console.log(s)}
//02includes包含startsWith以xx开头 endWith以xx结尾
console.log(str.includes("张"));
console.log(str.includes('我'));
console.log(str.startsWith('我爱你'));
console.log(str.endsWith('祖国'));
//03es5去掉空白 trim去掉两端空白 trimleft去掉左边空白
var str="我爱我的祖国";
console.log(str);
console.log(str.trim());
console.log(str.trimLeft());
console.log(str.trimRight());
//04repeat重复
var str="我爱你\n";
console.log(str.repeat(3))
//05padStart padEnd
var str="95"
console.log(str.padStart(7,"0"))
console.log(str.padStart(10,"-"))
console.log("love".padStart(10,"-"))
//06字符串模板
var obj={name:"mumu",age:19};
var str="大家好,我的名字"+obj.name+"今年"+obj.age+"岁";
console.log(str);
var str2=`大家好,我的名字${obj.name}今年${obj.age}岁`
console.log(str2);
</script>
数组的高阶案例
forEach遍历方法
map的映射
reduce的累计
every 检测都是(每个符合最终返回true)
some 检测有一个符合条件
<script type="text/javascript">
// 数组的高阶方法
// 01forEach遍历
var arr = [1, 2, 3, 5, 9]
arr.forEach(function(item,index,self){
console.log(item,index,self);
})
// 02map映射,从现有数组映射出新的数组
var arr2 = arr.map(function(item, index, self) {
return{age:item}
return item+"¥"
return item * 100 + "¥"
})
console.log(arr)
console.log(arr2)
// 03reduce 累计/
这次的a就是上一次计算的结果 遍历项
var all=arr.reduce(function(a,b, index, self){
return a*10+b
return a+b;
})
console.log(all);
// 1 1+2 1*10+2
// 2 3+3 12*10+3
// 3 6+5 123*10+5
// 4 11+9 1235*10+9
var arr=[20,1,3,5,9];
//04every 检测都是(每个符合最终返回true)
var result=arr.every(function(item){
return item>5;
})
console.log(result);
//05 some 检测有一个符合条件
var res=arr.some(function(item){
return item>10
})
console.log(res);
// forEach map fillter
var arr=[20,1,3,5,9];
var arr2=arr.filter(function(value){
//当返回值为真,当前元素保留
return value>5;
})
console.log(arr2);
</script>
箭头函数
//01 箭头函数省略function
//02=>左边参数
//03箭头右边函数体,返回值
//04参数0个或2个以上都要加上括号
//05如果函数体有多行需要加上{},若果需要返回值 需要加return
//06如果返回的是一个是对象则用()报过对象({})
07箭头函数THIS指向的是上一层作用域的THIS
<script type="text/javascript">
var fun= function(msg){
return "我是喜欢"+msg;
}
// 箭头函数就是函数的简写形式
var fn =msg=>"我喜欢"+msg;
//01 箭头函数省略function
//02=>左边参数
//03箭头右边函数体,返回值
//04参数0个或2个以上都要加上括号
//05如果函数体有多行需要加上{},若果需要返回值 需要加return
//06如果返回的是一个是对象则用()报过对象({})
// alert(fn('ta'))
// var sd=des=>"你好"+des;
// alert(sd("de"))
var arr=[1,2,5,8,7]
// arr.forEach(item=>console.log(item))
// arr.forEach(function(item,index){console.log(item,index);})
// arr.forEach((item,index)=>console.log(item,index))
// arr.forEach((item,index)=>{
// if(item>10){console.log(item,index)}
// });
var arr2=arr.map(item=>({age:item}));
var arr3=arr.map(item=>item*10);
console.log(arr2,arr3)
</script>