| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,6 +1,6 @@ | |||
| 1 | - ## 在 HTML 中使用 JavaScript | ||
| 1 | + # 在 HTML 中使用 JavaScript | ||
| 2 | 2 | ||
| 3 | - ### 1、`<script>`标签的位置 | ||
| 3 | + ## 1、`<script>`标签的位置 | ||
| 4 | 4 | ||
| 5 | 5 | 按照惯例`<script>`标签应该放在页面的`<head>`元素中,例如: | |
| 6 | 6 | ||
@@ -41,19 +41,19 @@ | |||
| 41 | 41 | </html> | |
| 42 | 42 | ``` | |
| 43 | 43 | ||
| 44 | - ### 2、script 标签属性 | ||
| 44 | + ## 2、script 标签属性 | ||
| 45 | 45 | ||
| 46 | 46 | `<script>`标签在HTML4.01中定义了6个属性: | |
| 47 | 47 | ||
| 48 | - #### 必须属性: | ||
| 48 | + ### 必须属性: | ||
| 49 | 49 | - type: 指示脚本的 MIME 类型 | |
| 50 | 50 | ||
| 51 | - #### 可选属性: | ||
| 51 | + ### 可选属性: | ||
| 52 | 52 | - defer: 规定是否对脚本执行进行延迟,直到页面加载为止 | |
| 53 | 53 | - async: 规定异步执行脚本(仅适用于外部脚本)。 | |
| 54 | 54 | - charset: 规定在外部脚本文件中使用的字符编码。 | |
| 55 | 55 | - language: 已废弃,请使用 type 属性代替它。 | |
| 56 | 56 | - **src: 规定外部脚本文件的 URL(跨域运用了这个属性可访问其他域的特性)** | |
| 57 | 57 | ||
| 58 | - #### 结论 | ||
| 58 | + ### 结论 | ||
| 59 | 59 | 最稳妥的办法还是把`<script>`写在`<body>`底部,**没有兼容性问题,没有白屏问题,没有执行顺序问题**,高枕无忧,慎用defer和async,这要是为什么这两个属性不流行的原因。 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,10 +1,10 @@ | |||
| 1 | - ## JavaScript 基本概念-基础数据类型 | ||
| 1 | + # JavaScript 基本概念-基础数据类型 | ||
| 2 | 2 | ||
| 3 | - ### 1、基本数据类型 | ||
| 3 | + ## 1、基本数据类型 | ||
| 4 | 4 | ||
| 5 | 5 | ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。 | |
| 6 | 6 | ||
| 7 | - #### typeof 运算符 | ||
| 7 | + ### typeof 运算符 | ||
| 8 | 8 | ||
| 9 | 9 | **对变量或值调用 typeof 运算符将返回下列值之一:** | |
| 10 | 10 | ||
@@ -16,9 +16,9 @@ ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Bo | |||
| 16 | 16 | ||
| 17 | 17 | 注释:您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。 | |
| 18 | 18 | ||
| 19 | - #### Number 类型 | ||
| 19 | + ### Number 类型 | ||
| 20 | 20 | ||
| 21 | - ##### 特殊的 Number 值 | ||
| 21 | + #### 特殊的 Number 值 | ||
| 22 | 22 | > 几个特殊值也被定义为 Number 类型。前两个是 Number.MAX_VALUE 和 Number.MIN_VALUE,它们定义了 Number 值集合的外边界。所有 ECMAScript 数都必须在这两个值之间。 | |
| 23 | 23 | > | |
| 24 | 24 | > 事实上,有专门的值表示无穷大,(如你猜到的)即 Infinity。Number.POSITIVE_INFINITY 的值为 Infinity。Number.NEGATIVE_INFINITY 的值为 -Infinity。 | |
@@ -27,7 +27,7 @@ ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Bo | |||
| 27 | 27 | ||
| 28 | 28 | **NaN 也不能用于算术计算。NaN 的另一个奇特之处在于,它与自身不相等** | |
| 29 | 29 | ||
| 30 | - #### Object 类型 | ||
| 30 | + ### Object 类型 | ||
| 31 | 31 | ||
| 32 | 32 | ECMAScript 中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象,如下所示: | |
| 33 | 33 | ||
@@ -41,7 +41,7 @@ var o = new Object; // 有效,但不推荐 | |||
| 41 | 41 | **这里有一个重要的思想:** | |
| 42 | 42 | 在ECMAScript中,Object类型是所有他的实例的基础。换句话说,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。 | |
| 43 | 43 | ||
| 44 | - ##### Object的每个实例都有下列属性和方法。 | ||
| 44 | + #### Object的每个实例都有下列属性和方法。 | ||
| 45 | 45 | ||
| 46 | 46 | - Constructor:构造函数;保存着用于创建当前对象的函数。 | |
| 47 | 47 | - hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty(*name*))。 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,6 +1,6 @@ | |||
| 1 | - ## JavaScript 基本概念-函数 | ||
| 1 | + # JavaScript 基本概念-函数 | ||
| 2 | 2 | ||
| 3 | - ### 1、理解参数 | ||
| 3 | + ## 1、理解参数 | ||
| 4 | 4 | ||
| 5 | 5 | ECMAScript 函数的一个重要特点: 命名的参数只提供便利,但不是必须的。另外在命名参数方面,其他语言可能需要事先创建一个函数签名(即形参),而将来的调用必须与该签名一致。但在ECMAScript中,没有这些条条框框,解析器不会验证命名参数。运用这一特性,可实现函数的“重载”。 | |
| 6 | 6 | ||
@@ -30,17 +30,17 @@ doAdd(10) | |||
| 30 | 30 | ||
| 31 | 31 | ``` | |
| 32 | 32 | ||
| 33 | - #### 注意: | ||
| 33 | + ### 注意: | ||
| 34 | 34 | **ECMAScript 中的所有参数传递的都是值,不可能通过引用传递参数。** | |
| 35 | 35 | ||
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | - ### 2、没有重载 | ||
| 38 | + ## 2、没有重载 | ||
| 39 | 39 | ||
| 40 | 40 | ECMAScript 函数不能像传统意义上那样实现重载。而在其他语言中,可以为一个函数编写两个定义,只要这两个定义的签名(接受的参数的类型和数量)不同即可。ECMAScript函数没有签名,因为其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的重载是不可能做到的。 | |
| 41 | 41 | ||
| 42 | 42 | ||
| 43 | - ### 小结: | ||
| 43 | + ## 小结: | ||
| 44 | 44 | ECMAScript 中的函数与其他语言中的函数有诸多不同之处。 | |
| 45 | 45 | - 无须指定函数的返回值,因为任何 ECMAScript 函数都可以在任何时候返回任何值。 | |
| 46 | 46 | - 实际上,未指定返回值的函数返回的是一个特殊的undefined值。 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,12 +1,12 @@ | |||
| 1 | - --- | ||
| 2 | - title: JavaScript 变量、作用域、内存问题 | ||
| 3 | - --- | ||
| 1 | + # JavaScript 变量、作用域、内存问题 | ||
| 4 | 2 | ||
| 5 | - ## JavaScript 变量、作用域、内存问题 | ||
| 6 | 3 | ||
| 7 | - ### 一、变量:基础类型和引用类型的值 | ||
| 8 | 4 | ||
| 9 | - #### 1、动态的属性 | ||
| 5 | + ## 一、变量:基础类型和引用类型的值 | ||
| 6 | + | ||
| 7 | + | ||
| 8 | + | ||
| 9 | + ### 1、动态的属性 | ||
| 10 | 10 | 定义基本类型的值和引用类型值的方式时类似的:创建一个变量并为该变量赋值。 | |
| 11 | 11 | - 引用类型:我们可以为添加/修改/删除属性和方法。 | |
| 12 | 12 | ||
@@ -24,14 +24,18 @@ name.age = 27; | |||
| 24 | 24 | alert(name.age); // undefined | |
| 25 | 25 | ``` | |
| 26 | 26 | ||
| 27 | - #### 2、复制变量值 | ||
| 27 | + | ||
| 28 | + | ||
| 29 | + ### 2、复制变量值 | ||
| 28 | 30 | ||
| 29 | 31 | 这里就出现了我们熟悉的知识点:对象引用的概念。 | |
| 30 | 32 | 基本类型:复制是值复制(复制的是值的副本); | |
| 31 | 33 | 引用类型:复制是引用复制(复制的是引用指针的副本,实际的值还是同一个); | |
| 32 | 34 | ||
| 33 | 35 | ||
| 34 | - #### 3、传递参数 | ||
| 36 | + | ||
| 37 | + | ||
| 38 | + ### 3、传递参数 | ||
| 35 | 39 | ||
| 36 | 40 | **ECMAScript中所有的函数的参数都是按值传递的。** | |
| 37 | 41 | 把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。基本类型值的传递如同基本类型变量的复制一样,引用类型的传递,则如同引用类型变量的复制一样。 | |
@@ -64,14 +68,19 @@ alert(person.name); // "Wjh" | |||
| 64 | 68 | > 可以把 ECMAScript 函数的参数想象成局部变量。 | |
| 65 | 69 | ||
| 66 | 70 | ||
| 67 | - #### 4、检测类型 | ||
| 71 | + | ||
| 72 | + | ||
| 73 | + ### 4、检测类型 | ||
| 68 | 74 | ||
| 69 | 75 | 在检测基本数据类型时 typeof 是非常得力的助手,但在检测引用类型的时候,这个操作符就用处不大了。这就用到了下一个操作符:instanceof。 | |
| 70 | 76 | ||
| 71 | 77 | ```javascript | |
| 72 | 78 | result = variable instanceof constructor | |
| 73 | 79 | ``` | |
| 74 | - ### 二、垃圾收集 | ||
| 80 | + | ||
| 81 | + | ||
| 82 | + | ||
| 83 | + ## 二、垃圾收集 | ||
| 75 | 84 | ||
| 76 | 85 | JavaScript 是一门具有自动垃圾收集机制的编程语言,开发人员不必关心内存分配和回收问题。可以对JavaScript的垃圾收集例程做如下总结。 | |
| 77 | 86 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments