Skip to content

Commit 70b83d5

Browse files
committed
fix
1 parent c240ffa commit 70b83d5

File tree

3 files changed

+31
-11
lines changed

3 files changed

+31
-11
lines changed

js学习笔记/基础/函数/README.md

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
arguments关键字
22
----
3-
在函数中arguments关键字永远指向传入的所有参数</br>
3+
4+
在函数中arguments关键字永远指向传入的所有参数
45
常用于取到传入参数的数量 arguments.length
56

67
rest参数
78
----
8-
在函数的参数后加入 ...rest参数 即可以数组的形式返回多余的传入参数</br>
9+
10+
在函数的参数后加入 ...rest参数 即可以数组的形式返回多余的传入参数
11+
12+
```js
913
function foo(a, b, ...rest) {
1014
console.log('a = ' + a);
1115
console.log('b = ' + b);
@@ -23,29 +27,34 @@ rest参数
2327
// a = 1
2428
// b = undefined
2529
// Array []
26-
30+
```
2731

2832
变量提升
2933
-----
34+
3035
js函数特点
3136
会将整个函数体声明的变量‘提升’到顶部
3237
但是提升变量的声明并不会提升变量的赋值
3338

39+
```js
3440
function foo() {
3541
var x = 'Hello, ' + y;
3642
alert(x);
3743
var y = 'Bob';
3844
}
3945

4046
foo();
47+
```
4148

4249
语句var x = 'Hello, ' + y;并不报错,原因是变量y在稍后申明了。但是alert显示Hello, undefined,说明变量y的值为undefined。
4350

4451
命名空间
4552
-----
53+
4654
全局变量会绑定到`window`上 使用相同的全局变量会造成冲突
4755
最好的方法是将自己所有的变量和函数全部绑定到一个全局变量中。
4856

57+
```js
4958
// 唯一的全局变量MYAPP:
5059
var MYAPP = {};
5160

@@ -57,14 +66,17 @@ js函数特点
5766
MYAPP.foo = function () {
5867
return 'foo';
5968
};
69+
```
6070

6171
类似于jq 或者 vue
6272

6373
局部作用域
6474
-----
75+
6576
js的变量作用域实际上是在函数内部 for循环等是不存在局部作用域的
6677
在ES6中引入了新的关键字`let`用来代替`var`可以申明一个块级作用域
6778

79+
```js
6880
function foo() {
6981
for (var i=0; i<100; i++) {
7082
//
@@ -80,22 +92,25 @@ js的变量作用域实际上是在函数内部 for循环等是不存在局部
8092
}
8193
i += 1; // SyntaxError
8294
}
83-
95+
```
8496

8597
常量
8698
-----
99+
87100
ES6定义新关键字`const`来定义常量 于`let`一样具有块级作用域
88101

102+
```js
89103
const PI = 3.14;
90104
PI = 3; // 某些浏览器不报错,但是无效果!
91105
PI; // 3.14
92-
93-
106+
```
94107

95108
方法
96109
=====
110+
97111
在一个对象中绑定函数,成为这个对象的方法
98112

113+
```js
99114
var xiaoming = {
100115
name: '小明',
101116
birth: 1990,
@@ -107,9 +122,11 @@ ES6定义新关键字`const`来定义常量 于`let`一样具有块级作用域
107122

108123
xiaoming.age; // function xiaoming.age()
109124
xiaoming.age(); // 今年调用是25,明年调用就变成26了
125+
```
110126

111127
this
112128
------
129+
113130
this在一个方法内部是一个特殊变量,他始终只想当前对象,也就是`xiaoming`这个变量
114131

115132
this只在`age`方法的函数内指向`xiaoming`假如在函数内部定义的`this`是会报错
@@ -137,6 +154,7 @@ this只在`age`方法的函数内指向`xiaoming`假如在函数内部定义的`
137154

138155
apply
139156
-----
157+
140158
可以利用函数本身的`apply`方法 定义`this`的指向
141159

142160
function getAge() {
@@ -169,6 +187,7 @@ call()把参数按顺序传入。
169187

170188
装饰器
171189
-------
190+
172191
利用`apply`可以动态改变函数的行为
173192

174193
JavaScript的所有对象都是动态的,即使内置的函数,我们也可以重新指向新的函数。
@@ -191,6 +210,7 @@ JavaScript的所有对象都是动态的,即使内置的函数,我们也可
191210

192211
高阶函数
193212
======
213+
194214
指的函数可以接收另一个函数作为参数 这种函数被称为高阶函数
195215

196216
function add(x, y, f) {
@@ -199,6 +219,7 @@ JavaScript的所有对象都是动态的,即使内置的函数,我们也可
199219

200220
map方法
201221
------
222+
202223
利用`array``map()`方法可以将函数代入数组 对数组每个元素进行函数运算
203224

204225
function pow(x) {
@@ -210,6 +231,7 @@ map方法
210231

211232
reduce方法
212233
------
234+
213235
Array的`reduce()`方法把一个函数作用在这个数组的所有元素上 接受2个参数
214236

215237
即把数组中的元素两两按顺序传入reduce()的函数中
@@ -221,8 +243,8 @@ Array的`reduce()`方法把一个函数作用在这个数组的所有元素上
221243
return x + y;
222244
}); // 25
223245

224-
225246
tilter()
226247
-----
248+
227249
用于筛选函数
228-
和map一样把数组所有元素作用于函数 根据返回值`true or false`决定保留还是丢弃
250+
和map一样把数组所有元素作用于函数 根据返回值`true or false`决定保留还是丢弃

工程化/eslint/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,3 @@ yarn add eslint -D
55
66
npx eslint --init //配置eslint
77
```
8-
9-
[模板]('./.eslintrc.js')

监控/性能监控/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ time: new Date().getTime(),
102102

103103
还有一个比较重要的时间就是白屏时间,它指从输入网址,到页面开始显示内容的时间。
104104

105-
将以下脚本放在 </head> 前面就能获取白屏时间。
105+
将以下脚本放在 `</head>` 前面就能获取白屏时间。
106106

107107
```html
108108
<script>

0 commit comments

Comments
 (0)