es6变量
var
- 可以重复声明
- 无法限制修改
- 没有块级作用域
let
- 不可以重复声明
- 变量可以修改
- 有块级作用域
const
- 不可以重复声明
- 常量不能修改
- 有块级作用域
普通函数
function 名字(){
}
let show = function(){
alert('0')
}
let arr = [22,55,75,4,12,54];
arr.sort(functon(n1,n2){
return n1-n2
});
alert(arr)
箭头函数
()=>{
}
let show= () => {
alert('0')
}
let arr = [22,55,75,4,12,54];
arr.sort((n1,n2)=>{
return n1-n2
});
alert(arr)
- 如果只有一个参数,()可以省
- 如果只有一个return,{}可以省
函数的参数
- 参数扩展/数组展开
1.收集剩余的参数(必须放在最后面)
function show(a,b,...args)
let show = function(a,b,...args){
alert(a);alert(b);alert(args);}
show(1,2,3,5,6)
2.展开数组
arr = [1,2,3,]
...arr
- 默认参数
function show(a,b=12, c=8){
console.log(a,b,c);
}
show(99,19)
解构赋值
- 左右两边结构必须一样
- 右边必须是个东西
- 声明和赋值不能分开,必须在同一句话里完成
let [a,b,c] = [12,2,3];
let {a,b,c} = {1,2,37};
数组
- map 映射 一个对应一个
let arr = [58,63,21,58,99];
let show = arr.map(item=>item>=60?'及格':'不及格');
alert(show)
- reduce 汇总 一堆出来一个
let arr = [12,56,48,999];
let result =arr.reduce(function(tmp,item,index){
if(index!=arr.length-1){ //不是最后一次
return tmp+item;
}else{ //最后一次
return(tmp+item)/arr.length;
}
});
alert(result)
- filter 过滤器
let arr = [13,15,4,8,78,74,88]
let result = arr.filter(item=>item%3==0)
alert(result)
- forEach
字符串
- 新方法
1.starts With
let str = 'https://wwww.baidu.com';
if(str.startsWith('http://')){
alert('普通网址')
}else(str.startsWith('https://')){
alert('加密网址')
}
2.endsWith
let str = '0.text';
if(str.endsWith('text')){
alert('文本')
}else if(str.endsWith('png')){
alert('图片')
}
- 字符串模板
json
- 标准写法
1.只能用双引号
2.所有的名字都必须用引号包起来
{"a":9,"j":8};