Skip to content

Commit cf833f1

Browse files
committed
Complete array method.
1 parent c6872a5 commit cf833f1

File tree

5 files changed

+274
-52
lines changed

5 files changed

+274
-52
lines changed

article/001-use-javascript-in-html.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
## 在 HTML 中使用 JavaScript
1+
# 在 HTML 中使用 JavaScript
22

3-
### 1、`<script>`标签的位置
3+
## 1、`<script>`标签的位置
44

55
按照惯例`<script>`标签应该放在页面的`<head>`元素中,例如:
66

@@ -41,19 +41,19 @@
4141
</html>
4242
```
4343

44-
### 2、script 标签属性
44+
## 2、script 标签属性
4545

4646
`<script>`标签在HTML4.01中定义了6个属性:
4747

48-
#### 必须属性:
48+
### 必须属性:
4949
- type: 指示脚本的 MIME 类型
5050

51-
#### 可选属性:
51+
### 可选属性:
5252
- defer: 规定是否对脚本执行进行延迟,直到页面加载为止
5353
- async: 规定异步执行脚本(仅适用于外部脚本)。
5454
- charset: 规定在外部脚本文件中使用的字符编码。
5555
- language: 已废弃,请使用 type 属性代替它。
5656
- **src: 规定外部脚本文件的 URL(跨域运用了这个属性可访问其他域的特性)**
5757

58-
#### 结论
58+
### 结论
5959
最稳妥的办法还是把`<script>`写在`<body>`底部,**没有兼容性问题,没有白屏问题,没有执行顺序问题**,高枕无忧,慎用defer和async,这要是为什么这两个属性不流行的原因。

article/002-basic-data-type.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
## JavaScript 基本概念-基础数据类型
1+
# JavaScript 基本概念-基础数据类型
22

3-
### 1、基本数据类型
3+
## 1、基本数据类型
44

55
ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。
66

7-
#### typeof 运算符
7+
### typeof 运算符
88

99
**对变量或值调用 typeof 运算符将返回下列值之一:**
1010

@@ -16,9 +16,9 @@ ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Bo
1616

1717
注释:您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。
1818

19-
#### Number 类型
19+
### Number 类型
2020

21-
##### 特殊的 Number 值
21+
#### 特殊的 Number 值
2222
> 几个特殊值也被定义为 Number 类型。前两个是 Number.MAX_VALUE 和 Number.MIN_VALUE,它们定义了 Number 值集合的外边界。所有 ECMAScript 数都必须在这两个值之间。
2323
>
2424
> 事实上,有专门的值表示无穷大,(如你猜到的)即 Infinity。Number.POSITIVE_INFINITY 的值为 Infinity。Number.NEGATIVE_INFINITY 的值为 -Infinity。
@@ -27,7 +27,7 @@ ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Bo
2727
2828
**NaN 也不能用于算术计算。NaN 的另一个奇特之处在于,它与自身不相等**
2929

30-
#### Object 类型
30+
### Object 类型
3131

3232
ECMAScript 中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象,如下所示:
3333

@@ -41,7 +41,7 @@ var o = new Object; // 有效,但不推荐
4141
**这里有一个重要的思想:**
4242
在ECMAScript中,Object类型是所有他的实例的基础。换句话说,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。
4343

44-
##### Object的每个实例都有下列属性和方法。
44+
#### Object的每个实例都有下列属性和方法。
4545

4646
- Constructor:构造函数;保存着用于创建当前对象的函数。
4747
- hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty(*name*))。

article/003-basic-function.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
## JavaScript 基本概念-函数
1+
# JavaScript 基本概念-函数
22

3-
### 1、理解参数
3+
## 1、理解参数
44

55
ECMAScript 函数的一个重要特点: 命名的参数只提供便利,但不是必须的。另外在命名参数方面,其他语言可能需要事先创建一个函数签名(即形参),而将来的调用必须与该签名一致。但在ECMAScript中,没有这些条条框框,解析器不会验证命名参数。运用这一特性,可实现函数的“重载”。
66

@@ -30,17 +30,17 @@ doAdd(10)
3030

3131
```
3232

33-
#### 注意:
33+
### 注意:
3434
**ECMAScript 中的所有参数传递的都是值,不可能通过引用传递参数。**
3535

3636

3737

38-
### 2、没有重载
38+
## 2、没有重载
3939

4040
ECMAScript 函数不能像传统意义上那样实现重载。而在其他语言中,可以为一个函数编写两个定义,只要这两个定义的签名(接受的参数的类型和数量)不同即可。ECMAScript函数没有签名,因为其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的重载是不可能做到的。
4141

4242

43-
### 小结:
43+
## 小结:
4444
ECMAScript 中的函数与其他语言中的函数有诸多不同之处。
4545
- 无须指定函数的返回值,因为任何 ECMAScript 函数都可以在任何时候返回任何值。
4646
- 实际上,未指定返回值的函数返回的是一个特殊的undefined值。

article/004-variables-scope.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
---
2-
title: JavaScript 变量、作用域、内存问题
3-
---
1+
# JavaScript 变量、作用域、内存问题
42

5-
## JavaScript 变量、作用域、内存问题
63

7-
### 一、变量:基础类型和引用类型的值
84

9-
#### 1、动态的属性
5+
## 一、变量:基础类型和引用类型的值
6+
7+
8+
9+
### 1、动态的属性
1010
定义基本类型的值和引用类型值的方式时类似的:创建一个变量并为该变量赋值。
1111
- 引用类型:我们可以为添加/修改/删除属性和方法。
1212

@@ -24,14 +24,18 @@ name.age = 27;
2424
alert(name.age); // undefined
2525
```
2626

27-
#### 2、复制变量值
27+
28+
29+
### 2、复制变量值
2830

2931
这里就出现了我们熟悉的知识点:对象引用的概念。
3032
基本类型:复制是值复制(复制的是值的副本);
3133
引用类型:复制是引用复制(复制的是引用指针的副本,实际的值还是同一个);
3234

3335

34-
#### 3、传递参数
36+
37+
38+
### 3、传递参数
3539

3640
**ECMAScript中所有的函数的参数都是按值传递的。**
3741
把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。基本类型值的传递如同基本类型变量的复制一样,引用类型的传递,则如同引用类型变量的复制一样。
@@ -64,14 +68,19 @@ alert(person.name); // "Wjh"
6468
> 可以把 ECMAScript 函数的参数想象成局部变量。
6569
6670

67-
#### 4、检测类型
71+
72+
73+
### 4、检测类型
6874

6975
在检测基本数据类型时 typeof 是非常得力的助手,但在检测引用类型的时候,这个操作符就用处不大了。这就用到了下一个操作符:instanceof。
7076

7177
```javascript
7278
result = variable instanceof constructor
7379
```
74-
### 二、垃圾收集
80+
81+
82+
83+
## 二、垃圾收集
7584

7685
JavaScript 是一门具有自动垃圾收集机制的编程语言,开发人员不必关心内存分配和回收问题。可以对JavaScript的垃圾收集例程做如下总结。
7786

0 commit comments

Comments
 (0)