二、 箭头函数
3. 当只有一个参数时,()可以省略
4. 如果只有一个return,{}可以省略----如 let show=a=>a*2; alert(show(12));
5. 例子
①
function show() {
}
let show= ()=>{
}
②
window.οnlοad=function() {
alert(‘abc’);
};
window.οnlοad= ()=>{
alert(‘abc’);
};
③:
let show= function() {
alert(‘abc’);
};
let show= ()=>{
alert(‘abc’);
};
==使用show()均可调用=
④:
let show= function(a,b) {
alert(a+b);
};
let show= (a,b)=>{
alert(a+b);
};
==使用show(n,m)均可调用=
三、 函数的参数
-
参数的扩展/数组展开
-
默认参数
参数扩展
-
收集剩余的参数 function show(a,b,…args){}
-
展开数组(展开数组的效果跟直接把数组的内容写在这一样)
- 默认参数(可加可不加即默认参数)
又如,传参则改变,不传则默认
四、 结构赋值
-
左右两边结构必须一样
-
右边必须是个东西
-
声明和赋值不能分开(必须在一句话里完成)
-
例子
① :数组格式
② :json格式
五、 数组
- map-----映射-----一对一
[56,98,45,66]
[不及格,及格,不及格,及格]
[
{name:’ble’,level:’1’}
{}
]
ps:map在使用时以一个function作为参数,如下:
①:
let arr=[12,5,8]
arr.map(function(item) {
alter(item); //这里的item参数arr里面的元素
});
let result=arr.map(function(item) {
return item*2; //这里的item参数arr里面的元素
});
======>等同于
let result=arr.map(item=>item*2);
alter(return);
③ :
let score=[55,60,99,80];
let result=score.map(item=>item>=60?’及格’:’不及格’);
alert(score);
alert(result);
- reduce----汇总—一堆出来一个
得出最后的一个统计情况
-
filter—过滤
-
forEach----循环(迭代)
-
根据其作用原理,于是可以得到reduce的简单作用如下:
说明:reduce函数中有三个参数,参数1,参数2的作用分别如上图,参数3是索引
小例子,算数组的平均数和总数
let arr=[10,22,56,44]
let result=arr.reduce(function(tmp,item,index){
if(index!=arr.length-1){ //即未到最后一次计算时
return tmp+item;
}else{
return (tmp+item)/arr.length; //否则则是最后一次计算,则除以长度得到平均数
}
});
///reduce的实际运用可以用于:购物车的计算总价等
- filter(即过滤掉不满足条件的,满足条件的元素保留下来)
其中是通过true(保留)和false(不保留)
小例子1
如:对于一个数组,保留能被3整除的元素
let a=[12,9,8,33,11]
let result=arr.filter(function(item){
if(item%3==0){
return true;
}else{
return false;
}
});
alert(result);
或者用箭头函数简写为:
let result=arr.filter(item=>{
if(item%3==0){
return true;
}else{
return false;
}
});
由于item%30本身就是返回布尔值,因此可以简写为
let result=arr.filter(item=>item%30);
例子2:
- forEach----循循环(迭代)
这里使用执行arr.forEach(function(item,index){alert(index+’:’+item})是对数组arr每个元素进行循环操作,这里的index加可不加。
六、 字符串
- 多了两个新方法
startsWith
小例子①,根据网址开头判断网址类型
endsWith(比如根据扩展名来返回图标,如.txt,.png……)
- 字符串模板
链接字符串,使用反单引号,使用反单引号,且KaTeX parse error: Unexpected character: ‘’ at position 6: {东西} ̲ 使用{}可以直接插入字符串
可以折行
如1:
let a=12
let str=a${a}bc
; //将s插入abc字符串中间
如2:
在js中不能折行,所以\转义
而使用``可以
七、 面向对象(最主要是继承)
-
class关键字、构造器和类分来了
-
class里面直接加方法
旧面向对象格式:
新面向对象
- 继承
3.1旧
3.2 新继承
八、 面向对象的运用
九、 JSON
PS:json的标准写法
1).只能用双引号
2).所有名字都必须用引号包起来
3.JSON对象
1).json格式变成字符串
因此使用
JSON.stringify(json) //即将json字符串化
2).字符串变成json格式
JSON.parse() //解析函数
- json简写
1)、key和value一样时,留一个就可以
2)方法show:function(){}— show(){}
十、 Promise
主要方法
1) Promise.all
2) Promise.race
总结
阿里十分注重你对源码的理解,对你所学,所用东西的理解,对项目的理解。