课程名称:一天时间迅速准备前端面试 快速构建初级前端知识体系
课程章节:面试题分析
主讲老师:双越老师
课程内容:面试真题3
今天学习内容包括:数组去重、拖放、地理位置
面试题 3
课程收获:
数组去重:
传统方式,遍历元素挨个比较、去重
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果没有找到匹配的字符串则返回 -1。
or ————————
使用 Set(计算效率更高)
拖放:
1. 使元素可拖动,把 draggable 属性设置为 true
2. ondragstart 属性调用了一个函数,drag(event),它规定了被拖动的数据。
3. dataTransfer.setData() 方法设置被拖数据的数据类型和值
4. Text 是一个 DOMString 表示要添加到 drag object 的拖动数据的类型。值是可拖动元素的 id ("drag1")。
5. ondragover 事件规定在何处放置被拖动的数据。默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置要通过调用 ondragover 事件的 event.preventDefault() 方法阻止对元素的默认处理方式
6. 当放置被拖数据时,会发生 drop 事件。
7. dataTransfer.getData("Text") 方法获得被拖的数据
8. 把被拖元素追加到放置元素(目标元素)中
9. (drop 事件的默认行为是以链接形式打开)
地理位置:
1. getCurrentPosition() 方法来获得用户的位置
2. coords.latitude 表示十进制的纬度
3. coords.longitude 表示十进制数的经度
错误代码:
1. Permission denied - 用户不允许地理定位
2. Position unavailable - 无法获取当前位置
3. Timeout - 操作超时
课程学习截图: