JavaScript高级程序设计读书笔记

通过js解决跨域问题的几种方式:
jsonp、 iframe、window.name、window.postMessage、服务器上设置代理页面


window.name 在一个页面打开另一个页面时,window.name是共享的,可以用来传递数据
document.domain 实现跨域,将两个页面的document.domain 设置成相同
2.纯后端方式: CORS,服务器代理
CORS 是w3c标准的方式,通过在web服务器端设置:响应头Access一Cntrol一Alow一Origin 来指定哪些域可以访问本域的数据,ie8&9(XDomainRequest),10+,chrom4 ,firefox3.5,safair4,opera12支持这种方式。
服务器代理。
同源策略只存在浏览器端,通过服务器转发请求可以达到跨域请求的目的,劣势:增加服务器的负担,且访问速度慢
3.前后端结合:JsonP
script.src 不受同源策略的限制,所以可以动态的创建script标签,将要请求数据的域写在src 中参数中附带回调的方法,
服务器端返回回调函数的字符串,并带参数。
如 script.src="http://www.yangwei.com/?id=001&callback=getInfoCallback",
服务器端返回 getInfoCallBack("name:yangwei;age:18") 这段代码会直接执行,
在前面定义好getInfoCallBack函数,既可以获得数据并解析。 这种是最常见的方式


IE6下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:overflow:hidden | zoom:0.08 | line一height:1px


ES6增加了如下特性:
1.增加块作用域
2.增加let const
3.解构赋值
4.函数参数扩展 (函数参数可以使用默认值、不定参数以及拓展参数)
5.增加class类的支持
6.增加箭头函数
7.增加模块和模块加载(ES6中开始支持原生模块化啦)
8.math, number, string, array, object增加新的API

你可能感兴趣的:(JavaScript)