12.3
12.3上课所提出过的问题:
1.json和jsonp的区别
JSON是一种基于文本的数据交互方式,而JSONP是基于JSON的使用方式。从使用上简单的讲就是:
不跨域 用JSON实现A jax和后台数据交互; 跨域 用JSONP实现Ajax和其它域中程序做数据交互。
什么是JSON?
JSON是一种数据交换格式
JSON的优点
①方便前台数据操作
var languages = {
cn: {
lang: 'zh',
name: '中文'
},
en: {
lang: 'us',
name: '英文'
}
};
document.write(languages.cn.lang + '是' + languages.cn.name);
②数据体积小,传输快
将上述代码改成XML
<?xml version="1.0" encoding="utf-8"?>
<languages>
<cn>
<lang>zh_cn</lang>
<name>中文</name>
</cn>
<en>
<lang>us_en</lang>
<name>英文</name>
</en>
</languages>
由上可以看出明显JSON的体积更小
③客户端操纵XML的时候需要创建ActiveX对象,JSON则完全就是一个JS对象,不需要创建DOM
什么是JSONP
JSONP是一种非官方跨域数据交互协议
JSONP怎样实现跨域?
jsonp主要是通过script可以链接远程url来实现跨域请求的。如:<script src="http://jsonp.js?callback=xxx"></script>
2.同步和异步
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
12.3总结
js模块化+异步加载完成游戏
通过封装模块更加方便我们的使用,同时也能让代码看上去简洁。