第七十一天(2018-10-14)
- [html] 你有用过HTML5中的datalist标签吗?说说你对它的理解
- [css] 遇到overflow: scroll不能平滑滚动怎么解决?
- [js] 举例说明数组和对象的迭代方法分别有哪些?
- [软技能] 你有使用过JWT吗?说说你对它的理解
题目一:
标签规定了 标签中可能的选项列表;
标签中的id要与标签中的list相对应;
实例:
<input list="browsers">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
题目二:
-webkit-overflow-scrolling: touch;
-webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果.
auto: 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。
touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。
叠层上下文:https://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/
深入研究-webkit-overflow-scrolling:touch及ios滚动
题目三:
array:
forEach((item, index)):无返回值,不可中断
map((item,index)):map 不会修改原数组,返回一个新的数组。如果忘记写 return 就会返回 undefined
filter((item,index)): filter 根据输入的条件将返回值为 true 的项重新组成数组返回出去
some((item, index))/every((item, index)):都是对输入的条件进行判断,some 只要有一个满足就返回 true; every 是需要所有项都满足才返回 true
reduce((prev,cur, index))/reduceRight((prev, cur, index)):允许我们对数组前一项和当前项进行操作,自定义返回值类型
object
自己用的比较多的是 Object.keys(obj) 转为数组后在进行遍历
for-in
题目四:
JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案。服务器认证以后,生成一个 JSON 对象,由客户端保存,每次服务端通信只要但是这个json对象就可以。方便服务器拓展。
JWT 由三部分组成Header(头部),Payload(负载),Signature(签名)。Header(头部),Payload(负载)都是json对象。Signature 部分是对前两部分的签名。
首先,需要指定一个密钥(secret)。这个密钥只有服务器才知道,不能泄露给用户。
然后,使用 Header 里面指定的签名算法(默认是 HMAC SHA256),按照下面的公式产生签名。
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret)
算出签名以后,把 Header、Payload、Signature 三个部分拼成一个字符串,每个部分之间用"点"(.)分隔,就可以返回给用户。
网友评论