面试记录

101 阅读2分钟

(1) js延迟加载的方式有哪些? defer和async、动态创建DOM方式(创建script,插入到DOM中,加载完毕后callBack)、按需异步载入js defer和async、动态创建DOM方式(用得最多)、按需异步载入js defer,只支持IE async:true 创建script,插入到DOM中,加载完毕后callBack

(2)如何解决跨域问题? jsonp、 document.domain+iframe、window.name、window.postMessage、服务器上设置代理页面 jsonp的原理是动态插入script标签 Jsonp、iframe、window.name、window.postMessage、服务器上设置代理页面

(3) ajax 是什么? 异步javascript和XML,是指一种创建交互式网页应用的网页开发技术。通过后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

(4) 页面生命周期:DOMContentLoaded,load,beforeunload,unload DOMContentLoaded —— 浏览器已完全加载 HTML,并构建了 DOM 树,但像 和样式表之类的外部资源可能尚未加载完成。 load —— 浏览器不仅加载完成了 HTML,还加载完成了所有外部资源:图片,样式等。 beforeunload/unload —— 当用户正在离开页面时。 每个事件都是有用的: DOMContentLoaded 事件 —— DOM 已经就绪,因此处理程序可以查找 DOM 节点,并初始化接口。 load 事件 —— 外部资源已加载完成,样式已被应用,图片大小也已知了。 beforeunload 事件 —— 用户正在离开:我们可以检查用户是否保存了更改,并询问他是否真的要离开。 unload 事件 —— 用户几乎已经离开了,但是我们仍然可以启动一些操作,例如发送统计数据。

(5) document.ready和onload的区别——JavaScript文档加载完成事件 页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页 面包含图片等文件在内的所有元素都加载完成。(可以说:ready 在onload 前加载!!!)

我的理解: 一般样式控制的,比如图片大小控制放在onload 里面加载; 而:jS事件触发的方法,可以在ready 里面加载; jQ的人很多人都是这么开始写脚本的:

$(function(){

// do something

}); 其实这个就是jq ready()的简写,他等价于:

(document).ready(function()//dosomething)//或者下面这个方法,jQuer的默认参数是:“document”;(document).ready(function(){ //do something }) //或者下面这个方法,jQuer的默认参数是:“document”; ().ready(function(){ //do something })