走り続けてこそ人生.

粗心大意·碎碎念

2018/08/31

error的处理

如果抛出了一个error,而且这个error怎么都log不出来,十有八九用JSON.stringify(error)就可以让error原形毕露了。想访问属性的话,就用JSON.parse(JSON.stringify(error)).属性.属性

不要手滑在循环体内写return

1
2
3
4
5
6
7
8
9
var arr=[];
for (let i = 0; i < daysOfThisWeek.length; i++) {
arr.push({
date: daysOfThisWeek[i],
day: days[i]
})
return arr; //不要在循环体内return,会导致循环体只循环一次,包括forEach,map之类的
}
return arr;

如果你觉得你的逻辑没问题,那就看看是不是写错了位置

比如该放到回调函数的花括号的作用域里,就不要放错放到了花括号外面

写if(){}懒得写else的时候,记得写return;

1
2
3
4
5
6
7
8
function(){
if(){
//...
return; //这句return;不能忘记,不然的话不会跳出去执行下面的else语句
}
//...else语句
// 这里就相当于else
}

this: 当前的方法属于谁,this就指向谁

es6中箭头函数的this是个很迷的玩意儿

将对象存进sessionStorage里

要将对象 JSON.Stringfy( ) 变成字符串之后才能存进去的,因为setItem()都只接受字符串参数

多值匹配case

1
2
3
4
5
6
7
8
9
10
11
switch (varName)
{
case "afshin":
case "saeed":
case "larry":
alert('Hey');
break;

default:
alert('Default case');
}
CATALOG
  1. 1. error的处理
  2. 2. 不要手滑在循环体内写return
  3. 3. 如果你觉得你的逻辑没问题,那就看看是不是写错了位置
  4. 4. 写if(){}懒得写else的时候,记得写return;
  5. 5. this: 当前的方法属于谁,this就指向谁
  6. 6. 将对象存进sessionStorage里
  7. 7. 多值匹配case