html document是干嘛的?

原创 xiaolong2122451 随笔 每日一套面试题 630阅读 2018-03-11 17:46:50 举报

HTML document是干嘛的?

HTML是超文本语言,document是HTML下的对象。

HTML5那些操纵可以SEO优化。

首先是头部,也就是<head></head>里面。 title标签,meta标签,网页描述标签都是SEO优化。
<body></body>里面HTML5定义了一些新的标签有利用SEO优化,如:header 、footer等。

css盒模型有哪些及有哪些区别。

margin padding border content; margin外边距,padding内填充,border边框,content是内容。

重排重绘机制? webkit渲染页面的步骤?。

浏览器初始化加载文档的时候,浏览器引擎会根据HTML文档来构建一个DOM树,然后根据DOM元素的几何属性来构建一颗渲染树。 渲染树每个节点都有长宽高等属性(几何属性)。当渲染树构建完成以后,浏览器引擎就会把DOM元素放到对应的位置,然后根据渲染树的几何属性去渲染页面。 由于浏览器是流布局,所以只需要一次遍历就可以完成。 但是table及其内部的元素除外, 它可能需要计算好几次,所以我们不提倡使用table布局。

而重排的本质是浏览器去重新绘制了渲染树。而重绘是浏览器根据元素的新属性去重新绘制,使元素呈现新的外观,重绘不会带来重新布局,并不一定会发现重排。

常见发生重排的情况有:
1,元素的几何属性发生改变。
2,DOM树的结构发生了变化。
3,当获取一些DOM元素属性的时候,浏览器为了取到正确的值也会发生重排,这些值包括:offsetTop、offsetLeft、 offsetWidth、offsetHeight、scrollTop、scrollLeft、scrollWidth、scrollHeight、 clientTop、clientLeft、clientWidth、clientHeight、getComputedStyle() ; 所以,多次使用这些值的时候可以使用缓冲来避免多次重排。
4 , 当浏览器窗口发生变化的时候也会发生重排。

所以开发中尽量避免发生重排。解决方法如下:
1 ,将多次改变样式的属性合并成一次。
2 ,将需要多次发生重排的元素设置成position:absolute或者fixed。 这样它就会脱离文档流。它的变化不会影响到其他元素。
3 ,多次操作节点的时候, 等完成了以后再添加到DOM中。
4 ,使用Js获取那些导致重排属性的时候, 要缓冲。

怎么不触发事件捕获?

e.preventDefault();

解决回调地狱的方法?

使用Js的发布订阅模式。
使用Promise

发短信倒计时 如果客户退出浏览器 怎样下次进来 如果时间还一分钟之内 如何继续倒计时?

使用jQuery的animate; 不用Js的setInterval;

typeof instanceof 的区别?

typeof 是返回一个数据类型的字符串格式。使用方法: typeof obj
instanceof 是判断某个构造函数的prototype属性是否存在于另外一个要检测对象的原型链上。objA instanceof objB

typeof null 返回的是什么?

'object'

instanceof undefined 返回什么?

报错

检测数组的方法?

Array.isArray();
arr instanceof Array;
Object.prototype.toString.call( arr )

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复