前端知识笔记(十二)———前端面试容易问到的问题总结
1.$(document).ready()方法和window.onload有什么区别?
执行时间不同:window.onload必须等到页面内的所有元素()加载完毕后才能执行。
$(document).ready()是页面DOM结构绘制完毕后就执行,不必等到加载完毕
执行次数不同:window.onload不能同时执行多个,$(document).ready()可以同时执行多个
2.Flash、Ajax各自的优缺点,在使用中如何取舍
Flash 适合处理多媒体、矢量图形、访问机器;对CSS、处理文本上不足,不容易被搜索。
ajax 对 CSS、文本支持很好,支持搜索;多媒体、矢量图形、机器访问不足。
3. 同源策略介绍及解析
同源:协议相同 域名相同 端口相同
目的:为了保证用户信息的安全,防止恶意的网站窃取数据
4.前端如何性能优化
1、 减少http请求
2、 减少资源体积
3、 缓存(dns缓存、cdn部署与缓存、http缓存)
4、 优化网页渲染
5、 dom操作优化
6、 异步请求优化
等等.... ...
5.jQuery遍历节点的方法
children()返回被选元素的所有直接子元素
find()返回被选元素的后代元素
first()返回被选元素的第一个元素
last()返回被选元素的最后一个元素
next()返回被选元素的后一个同级元素
nextAll()返回被选元素后面的所有同级元素
prev()返回被选元素的前一个同级元素
prevAll()返回被选元素的前面的所有同级元素
parent()返回包含此元素的唯一父节点的元素集合
6. ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。百度使用哪种方式?
post和get两种。两者的区别在于:post方式是把数据内容放在请求的数据正文部分,没有长度的限制;get方式则是把数据内容直接跟在请求的头部的URL后面,有长度的限制。而一般在表单的数据提交中,都会选择POST方式,因为使用GET方法数据是通过URL传递的,在地址栏中会直接看到传递的数据,这样就缺少安全性。而使用POST传递时,是把提交的数据放置在HTTP包的包体中,地址栏不会看到数据。
返回的数据类型默认是字符串string。
数据类型一共有:xml、HTML、script、json、jsonp、text。
百度使用get方式
区别:
get传递数据是通过URL进行传递,对传递的数据长度是受到URL大小的限制,URL最大长度是2048个字符。post没有长度限制
get后退不会有影响,post后退会重新进行提交
get请求可以被缓存,post不可以被缓存
get请求只URL编码,post支持多种编码方式
get请求的记录会留在历史记录中,post请求不会留在历史记录
get只支持ASCII字符,post没有字符类型限制
7. xml与json的区别
xml定义
指可扩展标记语言,用来传输和存储数据。用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型、是一种允许用户对自己的标记语言进行定义的源语言。XML使用DTD文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
json定义
json一种轻量级的数据交换格式,具有良好的可读性和便于快速编写的特性。可在不同平台之间进行数据交换。json采用兼容性很高的、完全独立与语言文本格式,同时也具备类似于c语言\以及java、python等等体系的习惯。这些使得JSON成为理想的数据交换语言。
xml:可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。
json:(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
二者区别:
它们都是一种数据交换格式。
1,xml是重量级的,json是轻量级的。
2,xml在传输过程中比较占带宽,json占带宽少,易于压缩。
3,xml和json都用在项目交互下,xml多用于做配置文件,json用于数据交互。
4,json可用jackson,gson等方法解析,xml可用dom,sax,demo4j等方式解析。
8.vue和jQuery有什么区别
jQuery是使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作,其实和原生的HTML的区别只在于可以更方便的选取和操作DOM对象,而数据和界面是在一起的。
Vue则是通过Vue对象将数据和View完全分离开来了。对数据进行操作不再需要引用相应的DOM对象,可以说数据和View是分离的,他们通过Vue对象这个vm实现相互的绑定。这就是传说中的MVVM。