术语Ajax用来描述一组技术,它使浏览器能够为用户提供更为天然的浏览体验。 Ajax它是“Asynchronous JavaScript + XML的简写”
定义Ajax:javascript
Ajax不是一种技术。实际上,它由几种蓬勃发展的技术以新的强大方式组合而成。Ajax包含: * 基于XHTML和CSS标准的表示; * 使用Document Object Model进行动态显示和交互; * 使用XMLHttpRequest与服务器进行异步通讯; * 使用JavaScript绑定一切。
JSON来自于javascript,可是应用上面远远不止是javascript的json,它至关于xml,是一种比较流行的标准格式,是数据的载体 javascript json 是用于javascript程序的,它能够支持对象引用以及函数;ajax json只是最简单的字符串和数字,它不可能彻底支持javascript里面的数据类型。 相对于XML,JSON更加易读、更便于肉眼检查。在语法的层面上,JSON与其余格式的区别是在于分隔数据的字符
咱们在访问有的网站,输入表单完成之后,单击提交按钮进行提交之后,提交按钮就会变为灰色,用户不能再单击第二次,直到从新加载页面或者跳转。这样,能够必定程度上防止用户重复提交致使应用程序上逻辑错误。 还有不少其余的方式进行防止重复点击提交,如 1> 定义标志位: 点击触发请求后,标志位为false量;请求(或者包括请求后具体的业务流程处理)后,标志位为true量。经过标志位来判断用户点击是否具有应有的响应。 2> 卸载及重载绑定事件: 点击触发请求后,卸载点击事件;请求(或者包括请求后具体的业务流程处理)后,从新载入绑定事件。 3> 替换(移除)按钮DOM 点击触发请求后,将按钮DOM对象替换掉(或者将之移除),天然而然此时不在具有点击事件;请求(或者包括请求后具体的业务流程处理)后,给新的按钮DOM定义点击事件。 更多讲解参考:http://www.cnblogs.com/jinguangguo/archive/2013/05/20/3086925.html
同步的概念应该是来自于操做系统中关于同步的概念: 不一样进程为协同完成某项工做而在前后次序上调整(经过阻塞,唤醒等方式)。同步强调的是顺序性,谁先谁后;异步则不存在这种顺序性。 // 同步:浏览器访问服务器请求,用户看获得页面刷新,从新发请求,等请求完,页面刷新,新内容出现,用户看到新内容,进行下一步操做。 // 异步:浏览器访问服务器请求,用户正常操做,浏览器后端进行请求。等请求完,页面不刷新,新内容也会出现,用户看到新内容。
(1)defer,只支持 IE (2)async: (3)建立 script,插入到 DOM 中,加载完毕后 callBack
跨域请求一直是网页编程中的一个难题,在过去,绝大多数人都倾向于使用JSONP来解决这一问题。不过如今,咱们能够考虑一下W3C中一项新的特性——CORS(Cross-Origin Resource Sharing)了。CORS是现代浏览器支持跨域资源请求的一种方式。 解决方法: 当你使用XMLHttpRequest发送请求时,浏览器发现该请求不符合同源策略,会给该请求加一个请求头:Origin,后台(php或者其它接收数据方)进行一系列处理,若是肯定接受请求则在返回结果中加入一个响应头:Access-Control-Allow-Origin;浏览器判断该相应头中是否包含Origin的值,若是有则浏览器会处理响应,咱们就能够拿到响应数据,若是不包含浏览器直接驳回,这时咱们没法拿到响应数据。 更多参考地址:www.cnblogs.com/dojo-lzz/p/4265637.html http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html
a.域名解析 b.发起TCP的三次握手 c.创建TCP链接后发起http请求 d.服务器端响应http请求,浏览器获得html码 e.浏览器解析html代码,并请求html代码中的资源 f.浏览器对页面进行渲染并呈现给客户 更多详细参考地址:http://www.360doc.com/content/14/0725/20/1073512_397054861.shtml
get: get是从服务器上获取数据,post是向服务器传送数据; get传送的数据量较小,不能大于2KB。post传送的数据量较大,通常被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB; get安全性很是低,post安全性较高。可是执行效率却比Post方法好; get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中能够看到; 在作数据查询时,建议用Get方式; post: post是经过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一块儿传送到ACTION属性所指的URL地址,用户看不到这个过程; 因此:包含机密信息的话,建议用Post数据提交方式;而在作数据添加、修改或删除时,建议用Post方式。
1xx(临时响应)表示临时响应并须要请求者继续执行操做的状态代码。 2xx (成功)表示成功处理了请求的状态代码。 3xx (重定向) 表示要完成请求,须要进一步操做。 一般,这些状态代码用来重定向。 4xx(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器的处理。 5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误多是服务器自己的错误,而不是请求出错。
`jQuery`是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。 `jQuery UI`则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。提供了一些经常使用的界面元素,诸如对话框、拖动行为、改变大小行为等等
$(document).ready 对于支持DOMContentLoaded事件的浏览器,会使用该事件,全部的节点渲染完毕,就执行,能够调用屡次,不支持的就使用 onload事件 window.onload事件要等到全部的资源加载完毕,如图片,视频,js脚本等,只能绑定一次,后面绑定的覆盖前面所绑定的事件
e.preventDefault(); e.stopPropagation();
高并发、聊天、实时消息推送、服务器作前端资源压缩
内存泄漏是指任何对象在您再也不拥有或须要它以后任然存在。 垃圾回收器按期扫描对象,并计算引用了每一个对象的其余对象的数量,若是一个对象的引用数量为0(没有其余对象引用过该对象),或对该对象的唯一引用是循环的,那么该对象的内存便可回收。 // setTimeout 的第一个参数使用字符串而非函数的话,会引起内存泄漏。 闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)
call方法: 语法:call(thisObj,Object) 定义:调用一个对象的一个方法,以另外一个对象替换当前对象。 说明: call 方法能够用来代替另外一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 若是没有提供 thisObj 参数,那么 Global 对象被用做 thisObj。 apply方法: 语法:apply(thisObj,[argArray]) 定义:应用某一对象的一个方法,用另外一个对象替换当前对象。 说明: 若是 argArray 不是一个有效的数组或者不是 arguments 对象,那么将致使一个 TypeError。 若是没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用做 thisObj, 而且没法被传递任何参数。