时刻记得温故而知新!
看到的或用到的前端小知识点记在这里。
-
script的defer属性:当
<script defer></script>
时,script的内容会在Dom加载完后再执行。注:只在IE有效 -
++a是先增一后赋值,a++是先赋值后增一
var a = 1; var b = a++; console.log(a + '--' + b); // 结果:2--1
var a = 1; var b = ++a; console.log(a + '--' + b); // 结果:2--2
-
像vue/angular这种数据驱动Dom结构的框架,一般是不要去直接操作dom,除非你的需求必须得亲自操作dom元素
-
关于Base64编码、解码。
btoa('string')
进行base64编码,atob('base64String')
进行base64解码,需要注意:① 文字不能直接用btoa方法,可以
btoa(encodeURIComponent('string'))
进行编码,解码decodeURIComponent(atob('base64String'))
② 解码的参数不能为空,需要先做下为空判断,否则报错
③ Base64算法转换的字符串可能会有三个字符
+
、/
和=
,所以如果是url后面跟的参数的值就要进行一些转换,可以进行一下字符替换,比如+
替换成-
,/
替换成_
,=
替换成!
,或者可以对编码后的base64字符串进行一次encodeURIComponent('base64String')
-
客户端与服务器端通信,cookie会自动发送,但它不能跨域,所以有些需要传递的信息可以放在请求头里,比如现在大多数做法会把JWT(json web token)放在http请求头的Authorization字段里