Skip to content

Commit 91fe374

Browse files
TYRMarsgitbook-bot
authored andcommitted
GitBook: [master] 100 pages modified
1 parent cac0223 commit 91fe374

File tree

98 files changed

+3205
-97
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+3205
-97
lines changed

SUMMARY.md

+103-97
Original file line numberDiff line numberDiff line change
@@ -2,101 +2,107 @@
22

33
* [封面](README.md)
44
* [前言](index.md)
5-
* [01-JavaScrpit-基础知识](01/README.md)
6-
* [变量声明](01/bian-liang-sheng-ming.md)
7-
* [变量类型和计算](01/bian-liang-lei-xing-he-ji-suan.md)
8-
* [作用域](01/zuo-yong-yu.md)
9-
* [基本数据类型](01/shu-ju-lei-xing/README.md)
10-
* [Undefined](01/shu-ju-lei-xing/undefined.md)
11-
* [Null](01/shu-ju-lei-xing/null.md)
12-
* [Boolean](01/shu-ju-lei-xing/boolean.md)
13-
* [Number](01/shu-ju-lei-xing/number.md)
14-
* [String](01/shu-ju-lei-xing/string.md)
15-
* [Symbol](01/shu-ju-lei-xing/symbol.md)
16-
* [类型转换](01/lei-xing-zhuan-huan.md)
17-
* [02-JavaScrpit-引用类型](02/README.md)
18-
* [Object类型](02/objectlei-xing.md)
19-
* [Array类型](02/arraylei-xing/README.md)
20-
* [检测数组](02/arraylei-xing/jian-ce-shu-zu.md)
21-
* [转换方法](02/arraylei-xing/zhuan-huan-fang-fa.md)
22-
* [栈方法](02/arraylei-xing/zhan-fang-fa.md)
23-
* [队列方法](02/arraylei-xing/dui-lie-fang-fa.md)
24-
* [重排序方法](02/arraylei-xing/zhong-pai-xu-fang-fa.md)
25-
* [操作方法](02/arraylei-xing/cao-zuo-fang-fa.md)
26-
* [位置方法](02/arraylei-xing/wei-zhi-fang-fa.md)
27-
* [迭代方法](02/arraylei-xing/die-dai-fang-fa.md)
28-
* [归并方法](02/arraylei-xing/gui-bing-fang-fa.md)
29-
* [Date类型](02/datelei-xing.md)
30-
* [RexExp类型](02/rexexplei-xing.md)
31-
* [Function类型](02/functionlei-xing.md)
32-
* [Set类型\(ES6\)](02/setlei-578b28-es6.md)
33-
* [Map类型\(ES6\)](02/maplei-578b28-es6.md)
34-
* [03-JavaScrpit-面向对象程序设计](03/README.md)
35-
* [构造函数](03/gou-zao-han-shu.md)
36-
* [原型链](03/yuan-xing-lian.md)
37-
* [继承](03/ji-cheng.md)
38-
* [New](03/new.md)
39-
* [Object.create](03/object.create.md)
40-
* [04-JavaScrpit-函数表达式与函数式编程](04/README.md)
41-
* [递归](04/di-gui.md)
42-
* [闭包](04/bi-bao.md)
43-
* [this](04/this.md)
44-
* [箭头函数](04/jian-tou-han-shu.md)
45-
* [高阶函数](04/gao-jie-han-shu.md)
46-
* [由函数构建函数](04/you-han-shu-gou-jian-han-shu.md)
47-
* [纯度、不变性和更改政策](04/chun-du-3001-bu-bian-xing-he-geng-gai-zheng-ce.md)
48-
* [基于流的编程](04/ji-yu-liu-de-bian-cheng.md)
49-
* [无类编程](04/wu-lei-bian-cheng.md)
50-
* [函数基本应用](04/han-shu-ji-ben-ying-yong.md)
51-
* [05-JavaScrpit-BOM](05/README.md)
52-
* [window对象](05/windowdui-xiang.md)
53-
* [location对象](05/locationdui-xiang.md)
54-
* [navigator对象](05/navigatordui-xiang.md)
55-
* [screen对象](05/screendui-xiang.md)
56-
* [history对象](05/historydui-xiang.md)
57-
* [06-JavaScript-DOM](06/README.md)
58-
* [DOM节点操作](06/domjie-dian-cao-zuo.md)
59-
* [DOM结构操作](06/domjie-gou-cao-zuo.md)
60-
* [07-JavaScrpit-事件](07/README.md)
61-
* [事件流](07/shi-jian-liu.md)
62-
* [事件注册与触发](07/shi-jian-zhu-ce-yu-hong-fa.md)
63-
* [事件对象](07/shi-jian-dui-xiang.md)
64-
* [事件分类](07/shi-jian-fen-lei.md)
65-
* [08-JavaScrpit-算法应用](08/README.md)
66-
* [基本排序算法](08/ji-ben-pai-xu-suan-fa/README.md)
67-
* [冒泡排序](08/ji-ben-pai-xu-suan-fa/mao-pao-pai-xu.md)
68-
* [选择排序](08/ji-ben-pai-xu-suan-fa/xuan-ze-pai-xu.md)
69-
* [插入排序](08/ji-ben-pai-xu-suan-fa/cha-ru-pai-xu.md)
70-
* [希尔排序](08/ji-ben-pai-xu-suan-fa/xi-er-pai-xu.md)
71-
* [归并排序](08/ji-ben-pai-xu-suan-fa/gui-bing-pai-xu.md)
72-
* [快速排序](08/ji-ben-pai-xu-suan-fa/kuai-su-pai-xu.md)
73-
* [09-JavaScrpit-异步](09/README.md)
74-
* [Ajax](09/ajax.md)
75-
* [Promise](09/promise.md)
76-
* [10-JavaScrpit-跨域](10/README.md)
77-
* [跨域](10/kua-yu.md)
78-
* [跨域方法](10/kua-yu-fang-fa/README.md)
79-
* [Hash](10/kua-yu-fang-fa/hash.md)
80-
* [JSONP](10/kua-yu-fang-fa/jsonp.md)
81-
* [CORS](10/kua-yu-fang-fa/cors.md)
82-
* [XDomainRequest](10/kua-yu-fang-fa/xdomainrequest.md)
83-
* [11-JavaScrpit-模块化](11/README.md)
84-
* [AMD](11/amd.md)
85-
* [CommonJS](11/cmd.md)
86-
* [ES6模块化](11/es6mo-kuai-hua.md)
87-
* [12-JavaScrpit-Web安全🔐](12/README.md)
88-
* [XSS](12/xss.md)
89-
* [CSRF](12/csrf.md)
90-
* [13-JavaScrpit-应用](13/README.md)
91-
* [Socket.io库](13/socketio.md)
92-
* [async+await异步调用](13/async+awaityi-bu-diao-yong.md)
93-
* [axios](13/axios.md)
94-
* [14-JavaScript-设计模式](14.md)
95-
* [15-JavaScript-正则表达式](15.md)
96-
* [16-JavaScript-性能优化](16.md)
97-
* [17-JavaScript-错误监控](17.md)
98-
* [18-JavaScript-语法规则](18/README.md)
99-
* [ESlint](18/eslint.md)
100-
* [19-JavaScript-工具](19-javascriptgong-ju/README.md)
101-
* [时间操作](19-javascriptgong-ju/shi-jian-cao-zuo.md)
5+
6+
## 基础知识
7+
8+
* [JavaScrpit-基础知识](ji-chu-zhi-shi/01/README.md)
9+
* [变量声明](ji-chu-zhi-shi/01/bian-liang-sheng-ming.md)
10+
* [变量类型和计算](ji-chu-zhi-shi/01/bian-liang-lei-xing-he-ji-suan.md)
11+
* [作用域](ji-chu-zhi-shi/01/zuo-yong-yu.md)
12+
* [基本数据类型](ji-chu-zhi-shi/01/shu-ju-lei-xing/README.md)
13+
* [Undefined](ji-chu-zhi-shi/01/shu-ju-lei-xing/undefined.md)
14+
* [Null](ji-chu-zhi-shi/01/shu-ju-lei-xing/null.md)
15+
* [Boolean](ji-chu-zhi-shi/01/shu-ju-lei-xing/boolean.md)
16+
* [Number](ji-chu-zhi-shi/01/shu-ju-lei-xing/number.md)
17+
* [String](ji-chu-zhi-shi/01/shu-ju-lei-xing/string.md)
18+
* [Symbol](ji-chu-zhi-shi/01/shu-ju-lei-xing/symbol.md)
19+
* [类型转换](ji-chu-zhi-shi/01/lei-xing-zhuan-huan.md)
20+
* [JavaScrpit-引用类型](ji-chu-zhi-shi/02/README.md)
21+
* [Object类型](ji-chu-zhi-shi/02/objectlei-xing.md)
22+
* [Array类型](ji-chu-zhi-shi/02/arraylei-xing/README.md)
23+
* [检测数组](ji-chu-zhi-shi/02/arraylei-xing/jian-ce-shu-zu.md)
24+
* [转换方法](ji-chu-zhi-shi/02/arraylei-xing/zhuan-huan-fang-fa.md)
25+
* [栈方法](ji-chu-zhi-shi/02/arraylei-xing/zhan-fang-fa.md)
26+
* [队列方法](ji-chu-zhi-shi/02/arraylei-xing/dui-lie-fang-fa.md)
27+
* [重排序方法](ji-chu-zhi-shi/02/arraylei-xing/zhong-pai-xu-fang-fa.md)
28+
* [操作方法](ji-chu-zhi-shi/02/arraylei-xing/cao-zuo-fang-fa.md)
29+
* [位置方法](ji-chu-zhi-shi/02/arraylei-xing/wei-zhi-fang-fa.md)
30+
* [迭代方法](ji-chu-zhi-shi/02/arraylei-xing/die-dai-fang-fa.md)
31+
* [归并方法](ji-chu-zhi-shi/02/arraylei-xing/gui-bing-fang-fa.md)
32+
* [Date类型](ji-chu-zhi-shi/02/datelei-xing.md)
33+
* [RexExp类型](ji-chu-zhi-shi/02/rexexplei-xing.md)
34+
* [Function类型](ji-chu-zhi-shi/02/functionlei-xing.md)
35+
* [Set类型\(ES6\)](ji-chu-zhi-shi/02/setlei-578b28-es6.md)
36+
* [Map类型\(ES6\)](ji-chu-zhi-shi/02/maplei-578b28-es6.md)
37+
* [JavaScrpit-BOM](ji-chu-zhi-shi/05/README.md)
38+
* [window对象](ji-chu-zhi-shi/05/windowdui-xiang.md)
39+
* [location对象](ji-chu-zhi-shi/05/locationdui-xiang.md)
40+
* [navigator对象](ji-chu-zhi-shi/05/navigatordui-xiang.md)
41+
* [screen对象](ji-chu-zhi-shi/05/screendui-xiang.md)
42+
* [history对象](ji-chu-zhi-shi/05/historydui-xiang.md)
43+
* [JavaScript-DOM](ji-chu-zhi-shi/06/README.md)
44+
* [DOM节点操作](ji-chu-zhi-shi/06/domjie-dian-cao-zuo.md)
45+
* [DOM结构操作](ji-chu-zhi-shi/06/domjie-gou-cao-zuo.md)
46+
* [JavaScrpit-事件](ji-chu-zhi-shi/07/README.md)
47+
* [事件流](ji-chu-zhi-shi/07/shi-jian-liu.md)
48+
* [事件注册与触发](ji-chu-zhi-shi/07/shi-jian-zhu-ce-yu-hong-fa.md)
49+
* [事件对象](ji-chu-zhi-shi/07/shi-jian-dui-xiang.md)
50+
* [事件分类](ji-chu-zhi-shi/07/shi-jian-fen-lei.md)
51+
* [JavaScrpit-异步](ji-chu-zhi-shi/09/README.md)
52+
* [Ajax](ji-chu-zhi-shi/09/ajax.md)
53+
* [Promise](ji-chu-zhi-shi/09/promise.md)
54+
* [JavaScript-正则表达式](ji-chu-zhi-shi/15.md)
55+
* [JavaScrpit-面向对象程序设计](ji-chu-zhi-shi/03/README.md)
56+
* [构造函数](ji-chu-zhi-shi/03/gou-zao-han-shu.md)
57+
* [原型链](ji-chu-zhi-shi/03/yuan-xing-lian.md)
58+
* [继承](ji-chu-zhi-shi/03/ji-cheng.md)
59+
* [New](ji-chu-zhi-shi/03/new.md)
60+
* [Object.create](ji-chu-zhi-shi/03/object.create.md)
61+
* [JavaScrpit-函数表达式与函数式编程](ji-chu-zhi-shi/04/README.md)
62+
* [递归](ji-chu-zhi-shi/04/di-gui.md)
63+
* [闭包](ji-chu-zhi-shi/04/bi-bao.md)
64+
* [this](ji-chu-zhi-shi/04/this.md)
65+
* [箭头函数](ji-chu-zhi-shi/04/jian-tou-han-shu.md)
66+
* [高阶函数](ji-chu-zhi-shi/04/gao-jie-han-shu.md)
67+
* [由函数构建函数](ji-chu-zhi-shi/04/you-han-shu-gou-jian-han-shu.md)
68+
* [纯度、不变性和更改政策](ji-chu-zhi-shi/04/chun-du-3001-bu-bian-xing-he-geng-gai-zheng-ce.md)
69+
* [基于流的编程](ji-chu-zhi-shi/04/ji-yu-liu-de-bian-cheng.md)
70+
* [无类编程](ji-chu-zhi-shi/04/wu-lei-bian-cheng.md)
71+
* [函数基本应用](ji-chu-zhi-shi/04/han-shu-ji-ben-ying-yong.md)
72+
* [JavaScript-语法规则](ji-chu-zhi-shi/18/README.md)
73+
* [ESlint](ji-chu-zhi-shi/18/eslint.md)
74+
75+
## 进阶知识
76+
77+
* [JavaScrpit-算法应用](jin-jie-zhi-shi/08/README.md)
78+
* [基本排序算法](jin-jie-zhi-shi/08/ji-ben-pai-xu-suan-fa/README.md)
79+
* [冒泡排序](jin-jie-zhi-shi/08/ji-ben-pai-xu-suan-fa/mao-pao-pai-xu.md)
80+
* [选择排序](jin-jie-zhi-shi/08/ji-ben-pai-xu-suan-fa/xuan-ze-pai-xu.md)
81+
* [插入排序](jin-jie-zhi-shi/08/ji-ben-pai-xu-suan-fa/cha-ru-pai-xu.md)
82+
* [希尔排序](jin-jie-zhi-shi/08/ji-ben-pai-xu-suan-fa/xi-er-pai-xu.md)
83+
* [归并排序](jin-jie-zhi-shi/08/ji-ben-pai-xu-suan-fa/gui-bing-pai-xu.md)
84+
* [快速排序](jin-jie-zhi-shi/08/ji-ben-pai-xu-suan-fa/kuai-su-pai-xu.md)
85+
* [JavaScrpit-模块化](jin-jie-zhi-shi/11/README.md)
86+
* [AMD](jin-jie-zhi-shi/11/amd.md)
87+
* [CommonJS](jin-jie-zhi-shi/11/cmd.md)
88+
* [ES6模块化](jin-jie-zhi-shi/11/es6mo-kuai-hua.md)
89+
* [JavaScrpit-应用](jin-jie-zhi-shi/13/README.md)
90+
* [Socket.io库](jin-jie-zhi-shi/13/socketio.md)
91+
* [async+await异步调用](jin-jie-zhi-shi/13/async+awaityi-bu-diao-yong.md)
92+
* [axios](jin-jie-zhi-shi/13/axios.md)
93+
* [JavaScript-设计模式](jin-jie-zhi-shi/14.md)
94+
* [JavaScript-性能优化](jin-jie-zhi-shi/16.md)
95+
* [JavaScript-工具](jin-jie-zhi-shi/19-javascriptgong-ju/README.md)
96+
* [时间操作](jin-jie-zhi-shi/19-javascriptgong-ju/shi-jian-cao-zuo.md)
97+
* [JavaScript-异常监控](jin-jie-zhi-shi/17.md)
98+
* [JavaScrpit-Web安全🔐](jin-jie-zhi-shi/12/README.md)
99+
* [XSS](jin-jie-zhi-shi/12/xss.md)
100+
* [CSRF](jin-jie-zhi-shi/12/csrf.md)
101+
* [JavaScrpit-跨域](jin-jie-zhi-shi/10/README.md)
102+
* [跨域](jin-jie-zhi-shi/10/kua-yu.md)
103+
* [跨域方法](jin-jie-zhi-shi/10/kua-yu-fang-fa/README.md)
104+
* [Hash](jin-jie-zhi-shi/10/kua-yu-fang-fa/hash.md)
105+
* [JSONP](jin-jie-zhi-shi/10/kua-yu-fang-fa/jsonp.md)
106+
* [CORS](jin-jie-zhi-shi/10/kua-yu-fang-fa/cors.md)
107+
* [XDomainRequest](jin-jie-zhi-shi/10/kua-yu-fang-fa/xdomainrequest.md)
102108

ji-chu-zhi-shi/01/README.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# JavaScrpit-基础知识
2+
3+
![](../../.gitbook/assets/import2.png)
4+
5+
![](../../.gitbook/assets/import.png)
6+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# 变量类型和计算
2+
3+
## 变量类型和计算(1)
4+
5+
* JS中使用typeof能得到的哪些类型
6+
* 何时使用`===`何时使用`==`
7+
* JS中有哪些内置函数
8+
* JS变量按照`存储方式`区分为哪些类型,并描述其特点
9+
* 如何理解`JSON`
10+
11+
### 值类型
12+
13+
* 从内存来说值类型是把每一个值存储在变量类型的每一个位置
14+
15+
```javascript
16+
var a = 100;
17+
var b = a;
18+
a = 200
19+
console.log(b);//100
20+
```
21+
22+
### 引用类型
23+
24+
* 把a赋值\*-成一个对象,a的位置是通过指针指向一个位置
25+
* 把b赋值成a,其实是定义一个b,b的指针指向了那个对象位置
26+
* 也就是有两份`age:20`的对象
27+
* 对象的引用,就相当于复写一个对象,这两个对象之间相互独立
28+
* 引用类型:对象、数组、函数
29+
30+
```javascript
31+
var a ={age:20};
32+
var b = a;
33+
b.age = 21;
34+
console.log(a.age); //21
35+
```
36+
37+
* typeof运算符
38+
39+
```javascript
40+
typeof undefined //undefined
41+
typeof 'abc' // String
42+
typeof 123 //number
43+
typeof true //boolean
44+
typeof {} //object
45+
typeof [] //object
46+
typeof null //object
47+
typeof console.log //funciton
48+
```
49+
50+
### 变量计算-强制类型转换
51+
52+
* 字符串拼接
53+
54+
```javascript
55+
var a = 100 + 10;//110
56+
var b = 100 + '10';//10010
57+
```
58+
59+
* == 运算符
60+
61+
```javascript
62+
100 == '100' //true
63+
0 == '' //true
64+
null == undefined //true
65+
```
66+
67+
* if语句
68+
69+
```javascript
70+
var a = true;
71+
if(a){
72+
//....
73+
}
74+
var b = 100;
75+
if (b) {
76+
//....
77+
}
78+
var c = '';
79+
if (c) {
80+
//...
81+
}
82+
```
83+
84+
* 逻辑运算
85+
86+
```javascript
87+
console.log(10 && 0); //0
88+
console.log('' || 'abc'); //abc
89+
console.log(!window.acb); //true
90+
91+
//判断一个变量会被当做true还是false
92+
var a = 100;
93+
console.log(!!a);//true
94+
```
95+
96+
## 变量类型和计算(2)
97+
98+
### JS中使用typeof能得到的类型
99+
100+
```javascript
101+
//问题:JS中使用typeof能得到哪些类型
102+
typeof undefined //undefined
103+
typeof 'abc' // String
104+
typeof 123 //number
105+
typeof true //boolean
106+
typeof {} //object
107+
typeof [] //object
108+
typeof null //object
109+
typeof console.log //funciton
110+
```
111+
112+
* 总结来说typeof可以得到
113+
114+
`undefined、String、number、boolean`
115+
116+
可以区分值类型,但对于引用类型无法很细的区分,只能区分函数。
117+
118+
* 尤其是
119+
120+
`typeof null object`
121+
122+
它是一个引用类型
123+
124+
### 何时使用===和==
125+
126+
```javascript
127+
//问题:何时使用===何时使用==
128+
129+
if (obj.a == null) {
130+
//这里相当于 obj.a === null || obj.a === undefined,简写形式
131+
//这是jquery源码中推荐的写法
132+
}
133+
```
134+
135+
### JS中的内置函数
136+
137+
```javascript
138+
//问题:JS中有哪些内置函数----数据封装类对象
139+
//作为构造函数的作用
140+
Object
141+
Array
142+
Boolean
143+
Number
144+
String
145+
Function
146+
Date
147+
RegExp
148+
Error
149+
```
150+
151+
### JS按照存储方式区分变量类型
152+
153+
```javascript
154+
//JS 变量按照存储方式区分为哪些类型,并描述其特点
155+
156+
//值类型
157+
var a = 10;
158+
var b = a;
159+
a = 11;
160+
console.log(b); // 10
161+
162+
//引用类型
163+
var obj1 = {x:100}
164+
var obj2 = obj1;
165+
obj1.x = 200;
166+
console.log(obj2.x); // 200
167+
```
168+
169+
* ES中,引用类型是一种数据结构,用于将数据和功能组织在一起
170+
171+
## 变量类型和计算(3)-理解JSON
172+
173+
```javascript
174+
//问题:如何理解JSON
175+
//JSON只不过是一个JS对象
176+
//JSON也是一个数据格式
177+
JSON.stringify({a:10,b:20});
178+
JSON.parse('{"a":10."b":20}')
179+
```
180+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# 变量声明
2+

0 commit comments

Comments
 (0)