一、
在js中包含7种数据类型:string、number、boolean、object、function、null、undefined
三种对象类型:Object、Date、Array
二、
open() 方法可以查找一个已经存在或者新建的浏览器窗口。
语法:
window.open([URL], [窗口名称], [参数字符串])
参数说明:
URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。
窗口名称:可选参数,被打开窗口的名称。
1.该名称由字母、数字和下划线字符组成。
2."_top"、"_blank"、"_selft"具有特殊意义的名称。
_blank:在新窗口显示目标网页
_self:在当前窗口显示目标网页
_top:框架网页中在上部窗口中显示目标网页
3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。
4.name 不能包含有空格。
参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
三、
web页面级优化:
web页面级优化:
- 减少HTTP请求的次数。http协议是无状态的应用层协议,每次http请求都需要建立通信链路、进行数据传输,而在服务器端每个http都需要启动独立的线程去处理,这些通信和服务的开销都很昂贵。所以减少http请求的数目可有效提高访问性能,
-
进行资源合拼和压缩。合并CSS、合并javascript、合并图片,将浏览器一次访问需要的javascript和CSS合并成一个文件,这样浏览器就只需要一次请求。在服务器端对文件进行压缩,在浏览器端对文件解压缩,可有效减少通信传输的数据量
-
Inline images,使用data: URL scheme的方式将图片嵌入到页面或CSS中嵌入页面,因为直接嵌入页面增大了页面的体积,而且无法利用浏览器缓存。所以使用在CSS中的图片则更为理想一些
-
将外部脚本置于低端,浏览器在加载javascript后立即执行,有可能会阻塞整个页面,造成页面显示缓慢,因此javascript最好放在页面最下面
-
减少不必要的HTTP跳转,对于以目录形式访问的HTTP链接,很多人都会忽略链接最后是否带’/’,假如你的服务器对此是区别对待的话,那么你也需要注意,这其中很可能隐藏了301跳转,增加了多余请求
四、
background-attachment
有三个值,scroll是默认值,背景图像会随着页面其余部分的滚动而移动。
fixed当页面的其余部分滚动时,背景图像不会移动。
inherit规定应该从父元素继承 background-attachment 属性的设置。
五、
<sup></sup>上标
<sub></sub>下标
<mark></mark>突出显示
六、
sessionStorage 、localStorage 和 cookie 之间的区别 共同点:都是保存在浏览器端,且同源的。 区别: 1:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。 2:存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。 3:数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。 4:作用域不同,sessionStorage不在不同的浏览器窗口敏感词享,即使是同一个页面;localStorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。 5:Web Storage支持事件通知机制,可以将数据更新的通知发送给监听者。 6:Web Storage 的 api 接口使用更方便。
七、
DOM树中总共分为如下几种节点格式:Element类型(元素节点)、Text类型(文本节点)、Comment类型(注释节点)、Document类型(document节点)。
第一题:document可以说是一种节点格式,但节点树的根节点也叫document,所以第一题的说法太绝对,是错的。
第二题:所有的HTML elements(元素节点,其实就是HTML标签)都是element。
第三题:comments属于注释节点
八、
CSS 百分比参照问题
-
参照父元素宽度的元素:padding margin width text-indent
-
参照父元素高度的元素:height
-
参照父元素属性:font-size line-height
九、
H5新增header,footer,nav,article,section,aside,datalist,audio,video,embed,input属性
十、
解析:A B选项都把正确的验证码文本放在了客户端,这是违背了验证码的初衷的。爬虫或者是恶意程序依旧可以通过各种手段获取你嵌入在html文本或者保存在cookie中的正确验证码文本,模拟表单提交来达到攻击的目的。 D选项更是浏览器自动无法识别图形验证码的内容。 C选项才是正确的实现方式,发送到客户端的只有图片形式的验证码,服务器端保存cookie对应的图形验证码的正确文本。客户端表单提交时到服务器端验证。
十一、
rgb代表红绿蓝,hsl代表为色相-饱和度-明度(Hue-saturation-lightness)
十二、
不推荐避免使用<font>标签,就是要使用,这样就不行了,建议使用css。
<font> 规定文本的字体、字体尺寸、字体颜色。
在 HTML 4.01 中,font 元素不被赞成使用。
在 XHTML 1.0 Strict DTD 中,font 元素不被支持。
请使用样式(代替 <font>)来定义文本的字体、字体颜色、字体尺寸。
十三、
优先显示和优先级还是不一样的,优先显示是HTML文档加载时从上到下加载,只与标签的上下顺序有关,与标签的选用无关,优先级是帧元素比表单元素优先,表单元素比非表单元素优先
十四、
回流是页面结构变化(元素大小,定位),所以是整体刷新;重绘是某些元素外观风格(颜色等)变化,不影响整体布局结构,只需要局部刷新。
浏览器渲染过程:
1.解析HTML,生成DOM树,解析CSS,生成CSSOM树。
2.将DOM树和CSSOM树结合,生成渲染树(Render tree)。
3.Layout(回流):根据生成的渲染树,进行回流,得到节点的几何信息。
4.Painting(重绘):根据渲染树以及回流得到的节点,获取绝对像素。
5.Display:将像素发给GPU,展示在页面上
十五、
继承就是指子节点默认使用父节点的样式属性。
记住可以继承的属性有哪些就行了。可以继承的属性很少,只有颜色,文字,字体间距行高对齐方式,和列表的样式可以继承。
十六、
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
针对移动网页优化过的页面的 viewport meta 标签
- width:控制 viewport 的大小,可以指定的一个值,如 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
- height:和 width 相对应,指定高度。
- initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。
- maximum-scale:允许用户缩放到的最大比例。
- minimum-scale:允许用户缩放到的最小比例。
- user-scalable:用户是否可以手动缩放。