H5十大新特性(前端面试新手必背)(11)

简介: H5十大新特性(前端面试新手必背)(11)

拖拽目标对象的方法


setData(format,data)

getData(format)

clearData([format])

addElement(element)

setDragImage(element,x,y)

setData(format,data)

将指定格式的数据赋值给dataTransfer对象,参数format定义数据的格式也就是数据的类型,data为待赋值的数据


getData(format)

从dataTransfer对象中获取指定格式的数据,format代表数据格式,data为数据。


clearData([format])

从dataTransfer对象中删除指定格式的数据,参数可选,若不给出,则为删除对象中所有的数据


addElement(element)

添加自定义图标


setDragImage(element,x,y)

设置拖放操作的自定义图标。其中element设置自定义图标,x设置图标与鼠标在水平方向上的距离,y设置图标与鼠标在垂直方向上的距离。


拖拽属性值


none:不能把拖动的元素放在这里。这是除了文本框之外所有元素默认的值。

move:把拖动的元素移动到放置目标。

copy:把拖动的元素复制到放置目标。

link:放置目标会打开拖动的元素(但拖动的元素必须是个链接URL地址)。


拖拽的node

定义三个变量

1 当前拖拽的node

2 拖拽时经过的node

3 最终放置的node


敲黑板,后面这个三个新特性是重点!!!!!


8、Web Worker

web worker 是运行在后台的 JavaScript。

Q1:JS是怎么执行的?

A1:JS是单线程执行模式。


Q2:什么是单线程模式?

A2:所有任务只能在一个线程上执行,一次只做一件事情。前面的没有执行完,后面的只能等待。


Q3:有什么不好的地方吗?

A3:1 现在的CPU大多数是多核的,计算能力牛逼到不行。单线程无法发挥出CPU计算的价值。

2 页面上JS在执行的时候会阻塞浏览器的响应,影响用户体验。毕竟页面是为用户服务的。


Q4:Web Worker解决了什么问题?

A4:为js创建多线程环境。js在主线程执行,new一个子线程在后台执行。worker完成计算的任务返回给主线程,UI交互流畅,不会被阻塞。主线程中的代码执行会导致浏览器响应阻塞,而子线程代码执行不会。主线程和子线程两者互补干扰,独立执行。


attention:操作web worker之前最重要的是检测浏览器是否支持。现在主流的浏览器对Web Worker兼容性并不高,比如Safari,更不用说IE浏览器了。但是这并不代表它没用。


 if(typeof(Worker)!=="undefined")
   {
   // yes
   }
 else
   {
   // no
   } 


创建web worker文件


 var i=0;
 function timedCount()
 {
     i=i+1;
     postMessage(i);
     setTimeout("timedCount()",600);
 } 
 timedCount(); 
 //计数器


创建web worker对象

上一步已经创建了一个web worker文件,现在需要在html页面调用它。

相关文章
|
2月前
|
缓存 前端开发 中间件
[go 面试] 前端请求到后端API的中间件流程解析
[go 面试] 前端请求到后端API的中间件流程解析
|
1月前
|
前端开发
【前端web入门第四天】02 CSS三大特性+背景图
本文详细介绍了CSS的三大特性:继承性、层叠性和优先级,并深入讲解了背景图的相关属性,包括背景属性、背景图的平铺方式、位置设定、缩放、固定以及复合属性。其中,继承性指子元素自动继承父元素的文字控制属性;层叠性指相同属性后定义覆盖前定义,不同属性可叠加;优先级涉及选择器权重,包括行内样式、ID选择器等。背景图部分则通过具体示例展示了如何设置背景图像的位置、大小及固定方式等。
245 91
|
28天前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
1月前
|
Web App开发 存储 移动开发
前端基础(十七)_HTML5新特性
本文概述了HTML5的关键新特性,包括canvas图形绘制、多媒体的`video`和`audio`元素、本地存储功能、语义化标签(如`header`、`footer`、`nav`等)及其新增表单控件和属性(如`url`、`email`、`date`类型输入框等)。这些改进增强了网页的功能性和用户体验。
30 1
前端基础(十七)_HTML5新特性
|
2月前
|
存储 XML 移动开发
前端大厂面试真题
前端大厂面试真题
|
5天前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
2月前
|
存储 移动开发 前端开发
HTML5时代来临,这些新特性你掌握了吗?一篇文章带你玩转Web前端技术潮流!
【8月更文挑战第26天】HTML5(简称H5)作为新一代Web标准,相比HTML4带来了诸多增强功能。
51 2
|
2月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
【8月更文挑战第18天】
44 2
|
2月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
35 0
|
2月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
44 个 React 前端面试问题