前端知识笔记(十二)—————前端面试容易问到的问题总结

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。

你可能感兴趣的:(前端,笔记,面试)