@@ -139,7 +139,7 @@ var b = 100;
139139if (b) {
140140 // ....
141141}
142- var c = ' ' ;
142+ var c = ' ' ;
143143if (c) {
144144 // ...
145145}
@@ -239,7 +239,7 @@ JSON.parse('{"a":10."b":20}')
239239* 扩展` 实例和对象的区别,从定义上来讲:1、实例是类的具象化产品,2、而对象是一个具有多种属性的内容结构。 `
240240
241241``` JavaScript
242- funciton Foo (name ,age ){
242+ function Foo (name ,age ){
243243 this .name = name;
244244 this .age = age;
245245 this .class = ' class-1' ;
@@ -1251,13 +1251,16 @@ history.forward();
12511251## 05-01
12521252#### 编写一个通用的事件监听函数
12531253#### 描述事件冒泡流程
1254- * DOM树形结构
1255- * 事件冒泡
1256- * 阻止冒泡
1257- * 冒泡的应用
1258- #### 对于一个无线下拉加载图片的页面,如何给每个图片绑定事件
1259- * 使用代理
1260- * 知道代理的有点
1254+
1255+ * DOM树形结构
1256+ * 事件冒泡
1257+ * 阻止冒泡
1258+ * 冒泡的应用
1259+
1260+ #### 对于一个无限下拉加载图片的页面,如何给每个图片绑定事件
1261+
1262+ * 使用代理
1263+ * 知道代理的有点
12611264
12621265##### 通用事件绑定
12631266
@@ -1362,8 +1365,10 @@ function bindEvent(elem,type,selector,fn) {
13621365
13631366## 05-02
13641367### Ajax-XMLHttpRequest
1368+
13651369* 手动编写一个ajax,不依赖第三方库
13661370* 跨域的几种实现方式
1371+
13671372#### 知识点
13681373##### XMLHttpRequest
13691374
@@ -1381,9 +1386,9 @@ xhr.onreadystatechange = function () {
13811386xhr .send (null );
13821387```
13831388
1384- * IE低版本使用ActiveXObject,和W3C标准不一样
1385- * IE低版本使用量已经非常少,很多网站早已不支持IE低版本
1386- * 建议对IE低版本的兼容性:了解即可,无需深究
1389+ * IE低版本使用ActiveXObject,和W3C标准不一样
1390+ * IE低版本使用量已经非常少,很多网站早已不支持IE低版本
1391+ * 建议对IE低版本的兼容性:了解即可,无需深究
13871392
13881393##### 状态码
13891394``` JavaScript
@@ -1407,6 +1412,7 @@ xhr.onreadystatechange = function () {
14071412 * 3XX-需要重定向,浏览器直接跳转
14081413 * 4XX-客户端请求错误,如404
14091414 * 5XX-服务端错误
1415+
14101416##### 跨域
14111417* 什么时跨域
14121418 * 浏览器有同源策略,不允许ajax访问其他域接口
@@ -1424,29 +1430,33 @@ xhr.onreadystatechange = function () {
14241430 * 跨域注意事项
14251431 * 所有的跨域请求都必须经过信息提供方允许
14261432 * 如果未经允许即可获得,那是浏览器同源策略出现漏洞
1433+
14271434* JSONP
14281435 * 加载 http: // coding.m.imooc.com/classindex.html
14291436 * 不一定服务器端真正有一个` classindex.html` 文件
14301437 * 服务器可以根据请求,动态生成一个文件,返回
1431- * 同理与< script src= " http://coding.m.imooc .com/api.js" >
1438+ * 同理与< script src= " http://coding.kejiganhuo .com/api.js" >
14321439
1433- * 假如你的网站要跨域访问慕课网的一个接口
1434- * 给你一个地址http: // coding.m.imooc .com/api.js
1440+ * 假如你的网站要跨域访问网站的一个接口
1441+ * 给你一个地址http: // coding.kejiganhuo .com/api.js
14351442 * 返回内容格式如callback ({x: 100 ,y: 200 })(可动态生成)
1443+
14361444` ` ` html
14371445<script>
14381446window.callback = function (data) {
14391447 //这是我们跨域的到信息
14401448 console.log(data);
14411449}
14421450</script>
1443- <script src="http://coding.m.imooc .com/api.js"></script>
1451+ <script src="http://coding.kejiganhuo .com/api.js"></script>
14441452<!-- 以上将返回 callback({x:100,y:200}) -->
14451453` ` `
1454+
14461455* 服务器端设置http header
14471456 * 另外一个解决跨域的简洁方法,需要服务器来做
14481457 * 但是作为交互方,我们必须知道这个方法
14491458 * 是将来解决跨域问题的一个趋势
1459+
14501460` ` ` JavaScript
14511461//注意:不同后端语言的写法可能不一样
14521462
@@ -1461,38 +1471,51 @@ response.setHeader("Access-Control-Allow-Credentials","true");
14611471
14621472## 05 - 03
14631473### 存储
1474+
14641475* 请描述一下` cookie` ,` sessionStorage` 和` localStorage` 的区别?
1476+
14651477#### cookie
1478+
14661479* 本身用于客户端和服务端通信
14671480* 但是它有本地存储的功能,于是就被` 借用`
14681481* 使用document .cookie = ... 获取和修改即可
1482+
14691483##### cookie用于存储的缺点
1484+
14701485* 存储量小,只有4kb
14711486* 所有http请求都带着,会影响获取资源的效率
14721487* API 简单,需要封装才能用document .cookie = ...
1488+
14731489#### localStorage和sessionStorage
1490+
14741491* HTML5 专门为存储设计,最大容量5M
14751492* API 简答易用:
14761493* localStorage .setItem (key,value);localStorage .getItem (key);
14771494* sessionStorage关闭浏览器会清理
14781495* iOS safari 隐藏模式下,localStorage .getItem 会报错
14791496* 建议统一使用try - catch 封装
1497+
14801498#### cookie sessionStorage localStorage 的区别
1499+
14811500* 容量
14821501* 是否会携带到ajax中
14831502* API 易用性
14841503
14851504## 06 - 01
14861505### 模块化
1506+
14871507* 不使用模块化
14881508* 使用模块化
14891509* AMD
14901510* CommonJS
1511+
14911512#### 不使用模块化
1513+
14921514* ` util getFormatDate函数`
14931515* ` a-util.js aGetFormatDate函数 使用getFormatDate`
14941516* ` a.js aGetFormatDate`
14951517* 定义
1518+
14961519` ` ` JavaScript
14971520//util.js
14981521function getFormatDate(date,type) {
@@ -1509,6 +1532,7 @@ function aGetFormatDate(data) {
15091532var dt = new Date()
15101533console.log(aGetFormatDate(dt));
15111534` ` `
1535+
15121536* 使用
15131537
15141538` ` ` html
@@ -1544,8 +1568,10 @@ console.log(aGetFormatDate(dt));
15441568//直接‘<script src="a.js"></script>’,其他的根据依赖关系自动引用
15451569//那两个函数,没必要做成全局变量,不会带来污染和覆盖
15461570` ` `
1571+
15471572## 06 - 02
15481573### AMD
1574+
15491575* require .js ` requirejs.org/`
15501576* 全局define函数
15511577* 全局require函数
@@ -1590,6 +1616,7 @@ require('[./a.js]',function (a) {
15901616 a.printDate(date);
15911617});
15921618` ` `
1619+
15931620* 使用
15941621
15951622` ` ` html
@@ -1635,43 +1662,57 @@ module.exports = {
16351662` ` `
16361663
16371664#### AMD 和CommonJS的使用场景
1665+
16381666* 需要异步加载JS ,使用AMD
16391667* 使用了npm之后建议使用CommonJS
16401668
16411669## 06 - 04
16421670### Git
16431671#### 常用命令
1672+
16441673* ` git init` git初始化
16451674* ` git add .` 文件新增
16461675* ` git checkout XXX` 出错还原
16471676* ` git commit -m "XXX"` commit提交到本地仓库 后面为注释
16481677* ` git push origin master` 代码上传
16491678* ` git pull origin master` 代码下载
1679+
16501680##### 多人开发
1681+
16511682* ` git branch` 看当前分支
16521683* ` git checkout -b xxx/git checkout xxx` 创建一个分支/ 切换分支
16531684* ` git merge xxx` 分支更改的东西提交到master或者分支
16541685
16551686## 07 - 01
16561687### 上线回滚- 上线回滚流程
1688+
16571689* 上线和回滚的基本流程
16581690* linux基本命令
1691+
16591692#### 上线回滚流程
1693+
16601694* 重要的开发环节
1695+
16611696#### 上线流程要点
1697+
16621698* 将测试完的代码提交到git版本库的master分支
16631699* 将当前服务器的代码全部打包并记录版本号,备份
16641700* 将master分支的代码提交覆盖到线上服务器,生成新的版本号
1701+
16651702#### 回滚流程要点
1703+
16661704* 将当前服务器的代码打包并记录版本号,备份
16671705* 将备份的上一个版本号解压,覆盖到线上服务器,并生成新的版本号
1706+
16681707#### Linux基本命令
1708+
16691709* 服务器使用Linux居多,server版,只有命令行
16701710* 测试环境要匹配线上环境,因此也是Linux
16711711* 经常需要登陆测试机来自己配置、获取数据
16721712
16731713## 08 - 01
16741714### JavaScript算法测试函数
1715+
16751716* SetData ()函数生成了存储在数组中的随机数字。Math 类的random ()函数会生成[0 ,1 )区间内的随机数字。换句话说,random ()函数生成的随机数字大于等于0 ,但不会等于1 。最后在用Math 类的floor ()函数确定最终结果。
16761717* 如下这个公式可以成功生成1 ~ 100 的随机数字集合。
16771718
@@ -1780,9 +1821,7 @@ console.log(mynums.toString);
17801821### JavaScript算法- 选择排序
17811822
17821823* 选择排序
1783-
17841824* 选择排序从数组的开头开始,将第一个元素和其他元素进行比较。检查完所有元素后,最小的元素会被放到数组的第一个位置,然后算法会从第二个位置继续。这个过程一直进行,当进行到数组的倒数第二个位置时,所有的数据便完成了排序。
1785-
17861825* 选择排序会用到嵌套循环。外循环从数组的第一个元素一定到倒数第二个元素;内循环从第二个数组元素移动到最后一个元素,查找比当前外循环
17871826
17881827< p align= " center" >< img src= " http://www.2cto.com/uploadfile/Collfiles/20160918/20160918092144584.gif" / >< / p>
0 commit comments