Skip to content

Commit 3aab9e8

Browse files
committed
update
1 parent cc67e8e commit 3aab9e8

File tree

1 file changed

+57
-18
lines changed

1 file changed

+57
-18
lines changed

README.md

Lines changed: 57 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ var b = 100;
139139
if (b) {
140140
//....
141141
}
142-
var c = ''
142+
var c = '';
143143
if (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 () {
13811386
xhr.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>
14381446
window.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
14981521
function getFormatDate(date,type) {
@@ -1509,6 +1532,7 @@ function aGetFormatDate(data) {
15091532
var dt = new Date()
15101533
console.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

Comments
 (0)