一、前言
各位朋友有没有看了大段解释和代码脑子里思绪很多,但七七八八好像又懂了,但是让你自己说一说,跟面试聊一聊,脑袋里却是一团乱,感觉哪里都知道一点,却串不成自己的逻辑,或者自己的描述很混乱,废话很多。害,因为我就是这样。
所以!关于jsopn我自己不断梳理逻辑和精简描述,希望能帮助大家稍微简单的梳理下~
二、一点点面试或描述一个概念或事情的心得:
首先,要描述一件事情,我的思路是在脑袋里分成大的几个模块,记住的是模块标题。而不是说就像背课文那样,只记住微观的句子与句子之间的关系。
例如:假如咱们来描述一下jsonp,来聊聊这个
可以把要讲的分为:①为什么会产生这个概念 ②概念是什么 ③具体操作
这三部分大的逻辑去描述。如果期间产生的新的概念,则可以补充围绕去说。
这样做的好处是你就算微观的某处忘了,但绝不会影响你宏观作答。
三、关于jsonp的梳理
①为什么会产生这个概念 ?
因为浏览器有同源策略,但是在一个页面中引入不同域的js脚本却可以自由访问,例如img这个标签,可以显示来自不同域的图片。基于这个原理jsonp出现。
②概念是什么 ?
jsonp和json没关系,json是数据交换格式,jsonp是非官方数据传输协议。(jsonp就是为跨域而生啦)
③具体操作
前端传callback参数,后端用这个参数的值作为函数名称包裹json数据,这样给前端的就是js代码了。
四、附同源策略
这里提到了同源策略,面试官一般肯定就会问了。给大家简单补充一下
是浏览器最基本最核心的安全功能。
协议、域名、端口号相同是同源。
同源策略限制了:
①js脚本不能访问另一个域下的cookie、localstorage
②js脚本不能操作另一个域dom
③ajax不能跨域请求
限制了不同源的资源交互。
以上个人愚见,希望能给面试思路混乱的朋友一点点启发,欢迎各位大佬指正
Thanks♪(・ω・)ノ!