美文网首页
javascript:面试总结

javascript:面试总结

作者: 西瓜炒苦瓜 | 来源:发表于2017-06-06 23:04 被阅读25次

    1.JSONP原理

    ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式的数据,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域。

    同源策略:是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。

    2.ajax同步和异步

    xmlHttp.open(method, url,async);

    async:布尔值,用来说明请求是否为异步模式。async是很重要的,因为它是用来控制JavaScript如何执行该请求。

    当设置为true时,将以异步模式发送该请求,JavaScript代码将继续执行而不再等待响应,且必须使用一个事件处理函数来监控请求的响应。

    如果将async设置为false,则将以同步模式发送该请求, JavaScript将等接收到响应后再继续执行剩余代码。这意味着如果响应时间很长,则用户在浏览器收到响应之前是将无法与其交互的。

    基于这个原因,Ajax应用程序开发的最佳实践是,使用异步请求来实现数据获取,使用同步请 求来实现与服务器之间发送和接收简单的消息。

    用同步模式来发送该请求(将open()方法的第三个参数设置为false),可以使你在调用send()方法之后马上对其响应进行处理。

    这对于想让用户交互等待响应,或希望只接收很少的数据(例如,小于1KB)的应用场景是很有用的。而对于通常的数据量或较大的数据量而言,最好还是使用异步调用。

    相关文章

      网友评论

          本文标题:javascript:面试总结

          本文链接:https://www.haomeiwen.com/subject/uxcnfxtx.html