Skip to content

Commit cc94f97

Browse files
this
1 parent 391f82e commit cc94f97

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

Note/sort/shellSort.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ function shellSort(nums) {
77
// 遍历每个分组的每个元素(第一个分组的第二个元素, 第二个分组的第二个元素, 第 gap 个分组的第二个元素, 第一个分组的第二个元素, ...)
88
for(let i=gap; i<nums.length; i++) {
99

10-
// 倒序遍历分组, 如外层循环为第三个元素(倒序第一个), 则倒序遍历, 判断倒数第二个, 如比当前大, 则交换值(大值后移), 直至遍历至合适位置
10+
// 倒序遍历分组内元素, 如外层循环为第三个元素(倒序第一个), 则倒序遍历, 判断倒数第二个, 如比当前大, 则交换值(大值后移), 直至遍历至合适位置
1111
for(let j=i-gap; j>=0; j-=gap) {
1212
if (nums[j] > nums[j+gap]) {
1313
[nums[j], nums[j+gap]] = [nums[j+gap], nums[j]]

Note/this/this.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## this
2+
3+
### 作用域
4+
* 静态作用域(词法作用域)
5+
* 变量的作用域,在定义时就已确定,js (大多数语言)采用的都是词法作用域
6+
* 动态作用域
7+
* 变量的作用域,在使用时才确定(如宏定义)
8+
9+
### this 指向
10+
**this 的指向是在调用函数时,根据函数执行上下文动态确定的**
11+
12+
* 函数体内,在直接调用该函数时(如:f()), 严格模式this 指向 undefined,非严格模式指向全局(global/window)
13+
* 一般构造函数,this 会绑定到新创建的对象上
14+
* call,apply,bind,则绑定到指定的对象上
15+
* 一般由某对象调用,则绑定到该对象上,(如:obj.fn())
16+
* 箭头函数则是根据其外层上下文确定
17+
18+
19+
20+
21+
22+
### 参考资料
23+
* [作用域](https://zh.wikipedia.org/wiki/%E4%BD%9C%E7%94%A8%E5%9F%9F)
24+
* [一网打尽 this,对执行上下文说 Yes](https://gitbook.cn/gitchat/column/5c91c813968b1d64b1e08fde/topic/5c99a854ccb24267c1d0194f)

0 commit comments

Comments
 (0)