WEB前端面试题的记录(一)
41、如何对网站的文件和资源进行优化,期待的解决方案包括:
(2)文件最小化/文件压缩
42、清除浮动的几种方式,各自的优缺点:
(1)使用空标签清除浮动:clear:both(理论上能清楚任何标签,但会增加无意义的标签);
(2)使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE);
(3)是用afert伪元素清除浮动(用于非IE浏览器);
根据内容的结构化(内容语义化),选择合适的标签(代码语义化),便于开发者阅读和写出更优雅的代码的同时,让浏览器的爬虫和机器更好的解析。
(1)在没有CSS的情况下,页面也能呈现出很好的内容结构;
(2)用户体验好;
(3)有利于SEO:可以和搜索引擎建立良好沟通,有助于爬虫抓取更多有效信息;
(4)方便其他设备解析;
(5)便于团队开发与维护,语义化更具可读性;
45、列举3种强制类型转换和2种隐式类型转换:
前者是切割成数组的形式,后者是将数组转换成字符串。
48、IE和DOM事件流的区别:
(1)执行顺序不一样;
(3)事件加不加on;
(4)this指向问题;
(1)一个在url后面 一个放在虚拟载体里面;
(4)应用不同,一个是论坛等只需要请求的,一个是类似修改密码的;
51、ajax请求时,如何解释json数据:
使用eval parse,鉴于安全性考虑,使用parse更靠谱。
52、事件委托是什么:
利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行。
闭包就是能够读取其他函数内部变量的函数。
54、解释jsonp的原理,以及为什么它不是真正的ajax:
jsonp:动态创建script标签,回调函数。
ajax是页面无刷新请求数据操作。
前者会自动转换类型,后者不会。
一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合。
58、编写一个数组去重的方法:
60、块级元素与内联元素的区别是什么:
块级元素高度宽度都是可以设置的。块级元素默认状态下每次都占据一整个行,后面的内容也必须再新起一行显示。
非块级元素可以通过css的display:block;将其更改成块级元素;float也具有此功能。
内联元素的高度宽度都是不可以设置的,其宽度就是自身文字或者图片的宽度。内联元素的显示特点就是像文本一样的显示,不会独自占据一个行。
noscript - )可选脚本内容(对于不支持script的浏览器显示此内容)
code - 计算机代码(在引用源码的时候需要)
samp - 定义范例计算机代码
span - 常用内联容器,定义文本内区块
61、<label>标签中的for属性:绑定的元素会获取焦点;
注:要将label绑定到其他控件上,label元素上的for属性要设置为与该控件的ID相同;若要提交表单,要为label元素所绑定到的控件指定name。
(1)脚本语言(一种解释型脚本语言,无需编译,直接运行);
(3)简单(弱类型的变量类型);
(4)跨平台(只依赖浏览器,与操作系统无关);