json
- 如果key和value一样的话可以简写
1 2 3 4
| let a=5 let b=3 <!-- let obj={a:a,b:b} --> let obj={a,b}
|
- json内的方法可以简写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <!-- let obj={ a:1, b:2, show:function(){ alert(this.a,this.b) } } -->
let obj={ a:1, b:2, show(){ alert(this.a,this.b) } }
obj.show()
|
字符串
- 字符串模板
植入变量,任意折行
1 2 3 4 5 6 7 8 9 10 11
| //植入变量 let obj={name:'小明',age:18} <!-- alert('我叫:'+obj.name+', 我今年'+obj.age+'岁') -->
alert(`我叫${obj.name},我今年${obj.age}岁`)
//折行 alert(`我叫 ${obj.name}, 我今年 ${obj.age}岁`)
|
- startsWith和endsWith
1 2 3 4 5 6 7 8 9 10 11 12 13
| //startsWith if(phoneNum.startsWith('135')){ alert('移动') }else{ alert('联通') }
//endsWith if(fileName.endsWith('.txt')){ alert('文本文件') }else{ alert('图片') }
|
面向对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| //之前的写法 function Person(name,age){ this.name=name this.age=age }
Person.prototype.showName=function(){ alert("我叫"+this.name) } Person.prototype.showAge=function(){ alert("我"+this.age+"岁") }
var p=new Person('小明',20) p.showName() p.showAge() //继承 function Worker(name,age,job){ Person.call(this,name,age) this.job=job } worker.prototype=new Person() worker.prototype.constructor=Worker worker.prototype.showJob=function(){ alert("我是做"+this.job) } var w=new Worker('小明',20,'打杂') w.showName() w.showAge() w.showJob()
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| //现在的写法 class Person{ constructor(name,age){ this.name=name this.age=age } showName(){ alert("我叫"+this.name) } showAge(){ alert("我"+this.age+"岁") } }
let p=new Person('小明',18) p.showName() p.showAge()
//继承 class Worker extends Person{ constructor(name,age,job){ //super 超类,父类 super(name,age) this.job=job } showJob(){ alert('我是做'+this.job) } } let w=new Worker('小明',18,'打杂') w.showName() w.showAge() w.showJob()
|
cookie、session
cookie
存储在浏览器,请求服务器的时候,会顺便发给服务器,不超过4k
不安全的
大白话理解:
小卖铺搞了个活动,你买十瓶水我送你一瓶,但人太多,你买三瓶我买五瓶的记不清楚,我就给每人发个卡,你买一瓶我就在上面签个名字,然后这个卡就存你那,你下回来买的时候把卡带着,等什么时候签满了,就送你一瓶水,然后再给你一张新的卡。
这样的问题在于:
1.造假怎么办,卡片存在对方手里,就好像cookie存在浏览器里,是可以改的,所以是不安全的,任何存在浏览器端的都是不安全的。
session
存储在服务器,不是独立的,基于cookie
安全问题:session 劫持
处理方法之一:缩短session有效时间
大白话理解:
还是小卖铺,卡存在我这了。但你来买水我怎么知道卡是你的?所以就会有一个证明,你每次来买东西都要出示一下你的身份证,我根据你的身份证来看看你的卡上现在写了几个了,这样就安全了一些。
存在cookie里的session ID,就相当于身份证,也就是token