Skip to content

Commit 6b57e6d

Browse files
committed
update
1 parent 7848ff3 commit 6b57e6d

File tree

1 file changed

+91
-10
lines changed

1 file changed

+91
-10
lines changed

README.md

Lines changed: 91 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,102 @@
11
# JavaScript学习
2-
## 总体目录
2+
## JavaScript基础知识剖析
3+
* [01-01](https://github.com/TYRMars/JSlearn#01-01) `变量类型和计算(1)`
4+
* [01-02](https://github.com/TYRMars/JSlearn#01-02) `变量类型和计算(2)`
5+
## JS小练习
36
* JSDemo JS小程序
47
* JDMenu 京东无延迟菜单
58
* DatePicker组件开发
69
* 手风琴效果开发
710
## 知识点学习
11+
## 01-01
12+
### 变量类型和计算(1)
13+
* JS中使用typeof能得到的哪些类型
14+
* 何时使用`===`何时使用 `==`
15+
* JS中有哪些内置函数
16+
* JS变量按照`存储方式`区分为哪些类型,并描述其特点
17+
* 如何理解`JSON`
18+
#### 值类型
19+
* 从内存来说值类型是把每一个值存储在变量类型的每一个位置
20+
```JavaScript
21+
var a = 100;
22+
var b = a;
23+
a = 200
24+
console.log(b);//100
25+
```
26+
#### 引用类型
27+
* 把a赋值*-成一个对象,a的位置是通过指针指向一个位置
28+
* 把b赋值成a,其实是定义一个b,b的指针指向了那个对象位置
29+
* 也就是有两份 `age:20`的对象
30+
* 对象的引用,就相当于复写一个对象,这两个对象之间相互独立
31+
* 引用类型:对象、数组、函数
32+
```JavaScript
33+
var a ={age:20};
34+
var b = a;
35+
b.age = 21;
36+
console.log(a.age); //21
37+
```
38+
* typeof运算符
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+
```JavaScript
52+
var a = 100 + 10;//110
53+
var b = 100 + '10';//10010
54+
```
55+
* == 运算符
56+
```JavaScript
57+
100 == '100' //true
58+
0 == '' //true
59+
null == undefined //true
60+
```
61+
* if语句
62+
```JavaScript
63+
var a = true;
64+
if(a){
65+
//....
66+
}
67+
var b = 100;
68+
if (b) {
69+
//....
70+
}
71+
var c = ''
72+
if (c) {
73+
//...
74+
}
75+
```
76+
* 逻辑运算
77+
```JavaScript
78+
console.log(10 && 0); //0
79+
console.log('' || 'abc'); //abc
80+
console.log(!window.acb); //true
81+
82+
//判断一个变量会被当做true还是false
83+
var a = 100;
84+
console.log(!!a);
85+
```
86+
87+
---
88+
889
### JSDemo JS小程序
9-
####
90+
####
1091
### JDMenu 京东无延迟菜单
1192
#### 1.开发普通二级菜单
1293
* 事件代理方式进行绑定
13-
* mouseenter和mouseover的区别
14-
* 使用mouseover/mouseout时候,如果鼠标移动到子元素上,即便没有离开父元素,也会触发父元素的mouseout事件
15-
* 使用mouseenter/mouseleave时,如果鼠标没有离开父元素,在其子元素上任意移动,也不会触发mouseleave事件
94+
* `mouseenter``mouseover`的区别
95+
* 使用`mouseover/mouseout`时候,如果鼠标移动到子元素上,即便没有离开父元素,也会触发父元素的`mouseout`事件
96+
* 使用`mouseenter/mouseleave`,如果鼠标没有离开父元素,在其子元素上任意移动,也不会触发`mouseleave`事件
1697
#### 2.加入延迟优化
17-
* 切换子菜单的时候,用setTimeout设置延迟
18-
* debounce去抖o((⊙﹏⊙))o.技术:
98+
* 切换子菜单的时候,`setTimeout`设置延迟
99+
* `debounce`去抖o((⊙﹏⊙))o.技术:
19100
* 在事件被频繁触发时买只执行一次
20101
#### 3.基于用户行为预测的切换技术
21102
* 跟踪鼠标的移动
@@ -28,8 +109,8 @@
28109
* 渲染当月日历表格
29110
* 用于点击时取日期值
30111
##### 日期对象
31-
* newDate(year,month-1,date)
112+
* `newDate(year,month-1,date)`
32113
* 月份需要-1
33114
* 越界自动进退位
34-
* getFullYear()/getMonth()/getDate()
35-
* getDay()获取当前日期是周几?
115+
* `getFullYear()/getMonth()/getDate()`
116+
* `getDay()`获取当前日期是周几?

0 commit comments

Comments
 (0)