From e6e70922c880026741bac2c3a5c9e781e5720da9 Mon Sep 17 00:00:00 2001 From: qianguyihao Date: Thu, 27 Dec 2018 14:10:05 +0800 Subject: [PATCH] =?UTF-8?q?update:switch=E8=AF=AD=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 03-JavaScript基础/01-JS简介.md | 2 +- 03-JavaScript基础/02-变量.md | 2 +- ...强制类型转换.md => 03-变量的强制类型转换.md} | 2 +- 03-JavaScript基础/04-运算符.md | 2 +- .../05-流程控制语句:选择结构(if和switch).md | 215 +++--------------- .../06-流程控制语句:循环结构(for和while).md | 91 +++++++- .../{19-对象简介.md => 15-对象简介.md} | 0 03-JavaScript基础/{20-函数.md => 16-函数.md} | 98 ++++++++ ...、作用域和this.md => 17-对象、作用域和this.md} | 0 ...函数和原型.md => 18-对象的创建、构造函数和原型.md} | 0 03-JavaScript基础/{23-数组.md => 19-数组.md} | 0 .../{24-内置对象.md => 20-内置对象.md} | 0 .../{25-DOM操作.md => 21-DOM操作.md} | 0 ...象Event和冒泡.md => 22-事件对象Event和冒泡.md} | 0 .../{27-事件委托.md => 23-事件委托.md} | 0 ...和内置对象.md => 24-BOM的常见内置方法和内置对象.md} | 0 .../{29-原型链.md => 25-原型链.md} | 0 .../{30-常见代码解读.md => 26-常见代码解读.md} | 0 18 files changed, 228 insertions(+), 184 deletions(-) rename 03-JavaScript基础/{03-强制类型转换.md => 03-变量的强制类型转换.md} (97%) rename 03-JavaScript基础/{19-对象简介.md => 15-对象简介.md} (100%) rename 03-JavaScript基础/{20-函数.md => 16-函数.md} (80%) rename 03-JavaScript基础/{21-对象、作用域和this.md => 17-对象、作用域和this.md} (100%) rename 03-JavaScript基础/{22-对象的创建、构造函数和原型.md => 18-对象的创建、构造函数和原型.md} (100%) rename 03-JavaScript基础/{23-数组.md => 19-数组.md} (100%) rename 03-JavaScript基础/{24-内置对象.md => 20-内置对象.md} (100%) rename 03-JavaScript基础/{25-DOM操作.md => 21-DOM操作.md} (100%) rename 03-JavaScript基础/{26-事件对象Event和冒泡.md => 22-事件对象Event和冒泡.md} (100%) rename 03-JavaScript基础/{27-事件委托.md => 23-事件委托.md} (100%) rename 03-JavaScript基础/{28-BOM的常见内置方法和内置对象.md => 24-BOM的常见内置方法和内置对象.md} (100%) rename 03-JavaScript基础/{29-原型链.md => 25-原型链.md} (100%) rename 03-JavaScript基础/{30-常见代码解读.md => 26-常见代码解读.md} (100%) diff --git a/03-JavaScript基础/01-JS简介.md b/03-JavaScript基础/01-JS简介.md index 5eae302..6ba3ea3 100644 --- a/03-JavaScript基础/01-JS简介.md +++ b/03-JavaScript基础/01-JS简介.md @@ -318,7 +318,7 @@ JS代码如下: ## 我的公众号 -想学习**代码之外的软技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 +想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外: diff --git a/03-JavaScript基础/02-变量.md b/03-JavaScript基础/02-变量.md index 5300994..a8a8e5a 100644 --- a/03-JavaScript基础/02-变量.md +++ b/03-JavaScript基础/02-变量.md @@ -578,7 +578,7 @@ null和undefined有最大的相似性。看看null == undefined的结果(true) ## 我的公众号 -想学习**代码之外的软技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 +想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外: diff --git a/03-JavaScript基础/03-强制类型转换.md b/03-JavaScript基础/03-变量的强制类型转换.md similarity index 97% rename from 03-JavaScript基础/03-强制类型转换.md rename to 03-JavaScript基础/03-变量的强制类型转换.md index 6131d9f..0a45416 100644 --- a/03-JavaScript基础/03-强制类型转换.md +++ b/03-JavaScript基础/03-变量的强制类型转换.md @@ -229,7 +229,7 @@ PS:上面的这就种情况,很重要,开发中会经常用到。 ## 我的公众号 -想学习**代码之外的软技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 +想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外: diff --git a/03-JavaScript基础/04-运算符.md b/03-JavaScript基础/04-运算符.md index 56df668..df89d93 100644 --- a/03-JavaScript基础/04-运算符.md +++ b/03-JavaScript基础/04-运算符.md @@ -614,7 +614,7 @@ PS:我们知道,Unicode编码采用的是16进制,但是,这里的编码 ## 我的公众号 -想学习**代码之外的软技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 +想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外: diff --git a/03-JavaScript基础/05-流程控制语句:选择结构(if和switch).md b/03-JavaScript基础/05-流程控制语句:选择结构(if和switch).md index c753d15..e820913 100644 --- a/03-JavaScript基础/05-流程控制语句:选择结构(if和switch).md +++ b/03-JavaScript基础/05-流程控制语句:选择结构(if和switch).md @@ -46,7 +46,7 @@ a = 2 - 循环结构:while语句、for语句 -**顺序结构**: +## 顺序结构 按照代码的先后顺序,依次执行。结构图如下: @@ -217,99 +217,54 @@ if语句有以下三种。 ``` -## for循环 +## switch语句(条件分支语句) -### for循环的结构 +switch语句也叫条件分支语句。 -for循环举例: +格式: ```javascript - for (var i = 1; i <= 100; i++) { - console.log(i); - } + switch(表达式) { + case 值1: + 语句体1; + break; + + case 值2: + 语句体2; + break; + + ... + ... + + default: + 语句体 n+1; + break; + } ``` -上方代码的解释: +备注1:当所有的比较结果都为false时,则只执行default里的语句。 -![](http://img.smyhvae.com/20180117_2248.png) +备注2:break可以省略,但一般不建议。否则结果可能不是你想要的,会出现一个现象:**case穿透**。 + +**switch语句的执行流程:** + +- 首先,计算出表达式的值,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。 + +- 然后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。 -### for循环遍历 +### switch语句的结束条件 + +- 情况a:遇到break就结束,而不是遇到default就结束。(因为break在此处的作用就是退出switch语句) + +- 情况b:执行到程序的末尾就结束。 + +我们来举两个例子就明白了。 -```javascript - for (var i = 1; i < 13; i = i + 4) { - console.log(i); - } -``` -上方代码的遍历步骤: -``` -程序一运行,将执行var i = 1;这条语句, 所以i的值是1。 -然后程序会验证一下i < 13是否满足,1<13是真,所以执行一次循环体(就是大括号里面的语句)。 -执行完循环体之后,会执行i=i+4这条语句,所以i的值,是5。 - -程序会会验证一下i < 13是否满足,5<13是真,所以执行一次循环体(就是大括号里面的语句)。 -执行完循环体之后,会执行i=i+4这条语句,所以i的值,是9。 - -程序会会验证一下i < 13是否满足,9<13是真,所以执行一次循环体(就是大括号里面的语句)。 -执行完循环体之后,会执行i=i+4这条语句,所以i的值,是13。 - -程序会会验证一下i < 13是否满足,13<13是假,所以不执行循环体了,将退出循环。 - -最终输出输出结果为:1、5、9 -``` - -接下来做几个题目。 - -题目1: - -```javascript - for (var i = 1; i < 10; i = i + 3) { - i = i + 1; - console.log(i); - } -``` - -输出结果:2、6、10 - -题目2: - -```javascript - for (var i = 1; i <= 10; i++) { - - } - console.log(i); -``` - -输出结果:11 - -题目3: - -```javascript - for(var i = 1; i < 7; i = i + 3){ - - } - console.log(i); -``` - -输出结果:7 - -题目4: - -```javascript - for (var i = 1; i > 0; i++) { - console.log(i); - } -``` - -死循环。 - -## switch语句 - -当所有的比较结果都为false时,则只执行default里的语句。 ## break和continue @@ -335,107 +290,9 @@ for循环举例: 暂略。 -## 函数 - -函数:就是将一些语句进行**封装**,然后通过**调用**的形式,执行这些语句。 - -**函数的作用:** - -- 将大量重复的语句写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动。 - -- 简化编程,让编程模块化。 - -先来看个例子: - -```javascript - console.log("你好"); - sayHello(); //调用函数 - //定义函数: - function sayHello(){ - console.log("欢迎"); - console.log("welcome"); - } -``` - -### 第一步:函数的定义 - -函数定义的语法: - -```javascript - function sum(a, b){ - return a+b; - } -``` - -解释如下: - -- function:是一个关键字。中文是“函数”、“功能”。 - -- 函数名字:命名规定和变量的命名规定一样。只能是字母、数字、下划线、美元符号,不能以数字开头。 - -- 参数:后面有一对小括号,里面是放参数用的。 - -- 大括号里面,是这个函数的语句。 - -PS:方法写完之后,我们在方法的前面输入`/**`,然后回车,会发现,注释的格式会自动补齐。 - - -### 第二步:函数的调用 - -函数调用的语法: - -```javascript - 函数名字(); -``` - -### 函数的参数:形参和实参 - -函数的参数包括形参和实参。来看下面的图就懂了: - - -![](http://img.smyhvae.com/20180118_1130.png) - -注意:实际参数和形式参数的个数,要相同。 - -举例: - -```javascript - sum(3,4); - sum("3",4); - sum("Hello","World"); - - //函数:求和 - function sum(a, b) { - console.log(a + b); - } -``` - -控制台输出结果: - -``` - 7 - 34 - helloworld -``` - -### 函数的返回值 - -举例: - -```javascript - console.log(sum(3, 4)); - - //函数:求和 - function sum(a, b) { - return a + b; - } -``` - -return的作用是结束方法。 - ## 我的公众号 -想学习**代码之外的软技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 +想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外: diff --git a/03-JavaScript基础/06-流程控制语句:循环结构(for和while).md b/03-JavaScript基础/06-流程控制语句:循环结构(for和while).md index b3e0f9a..47961c0 100644 --- a/03-JavaScript基础/06-流程控制语句:循环结构(for和while).md +++ b/03-JavaScript基础/06-流程控制语句:循环结构(for和while).md @@ -1 +1,90 @@ -06-流程控制语句:循环结构(for和while).mds \ No newline at end of file + +## for循环 + +### for循环的结构 + +for循环举例: + +```javascript + for (var i = 1; i <= 100; i++) { + console.log(i); + } +``` + +上方代码的解释: + +![](http://img.smyhvae.com/20180117_2248.png) + + +### for循环遍历 + + +```javascript + for (var i = 1; i < 13; i = i + 4) { + console.log(i); + } + +``` + +上方代码的遍历步骤: + +``` +程序一运行,将执行var i = 1;这条语句, 所以i的值是1。 +然后程序会验证一下i < 13是否满足,1<13是真,所以执行一次循环体(就是大括号里面的语句)。 +执行完循环体之后,会执行i=i+4这条语句,所以i的值,是5。 + +程序会会验证一下i < 13是否满足,5<13是真,所以执行一次循环体(就是大括号里面的语句)。 +执行完循环体之后,会执行i=i+4这条语句,所以i的值,是9。 + +程序会会验证一下i < 13是否满足,9<13是真,所以执行一次循环体(就是大括号里面的语句)。 +执行完循环体之后,会执行i=i+4这条语句,所以i的值,是13。 + +程序会会验证一下i < 13是否满足,13<13是假,所以不执行循环体了,将退出循环。 + +最终输出输出结果为:1、5、9 +``` + +接下来做几个题目。 + +题目1: + +```javascript + for (var i = 1; i < 10; i = i + 3) { + i = i + 1; + console.log(i); + } +``` + +输出结果:2、6、10 + +题目2: + +```javascript + for (var i = 1; i <= 10; i++) { + + } + console.log(i); +``` + +输出结果:11 + +题目3: + +```javascript + for(var i = 1; i < 7; i = i + 3){ + + } + console.log(i); +``` + +输出结果:7 + +题目4: + +```javascript + for (var i = 1; i > 0; i++) { + console.log(i); + } +``` + +死循环。 diff --git a/03-JavaScript基础/19-对象简介.md b/03-JavaScript基础/15-对象简介.md similarity index 100% rename from 03-JavaScript基础/19-对象简介.md rename to 03-JavaScript基础/15-对象简介.md diff --git a/03-JavaScript基础/20-函数.md b/03-JavaScript基础/16-函数.md similarity index 80% rename from 03-JavaScript基础/20-函数.md rename to 03-JavaScript基础/16-函数.md index dec10d7..35a2f07 100644 --- a/03-JavaScript基础/20-函数.md +++ b/03-JavaScript基础/16-函数.md @@ -1,5 +1,103 @@ +## 函数 + +函数:就是将一些语句进行**封装**,然后通过**调用**的形式,执行这些语句。 + +**函数的作用:** + +- 将大量重复的语句写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动。 + +- 简化编程,让编程模块化。 + +先来看个例子: + +```javascript + console.log("你好"); + sayHello(); //调用函数 + //定义函数: + function sayHello(){ + console.log("欢迎"); + console.log("welcome"); + } +``` + +### 第一步:函数的定义 + +函数定义的语法: + +```javascript + function sum(a, b){ + return a+b; + } +``` + +解释如下: + +- function:是一个关键字。中文是“函数”、“功能”。 + +- 函数名字:命名规定和变量的命名规定一样。只能是字母、数字、下划线、美元符号,不能以数字开头。 + +- 参数:后面有一对小括号,里面是放参数用的。 + +- 大括号里面,是这个函数的语句。 + +PS:方法写完之后,我们在方法的前面输入`/**`,然后回车,会发现,注释的格式会自动补齐。 + + +### 第二步:函数的调用 + +函数调用的语法: + +```javascript + 函数名字(); +``` + +### 函数的参数:形参和实参 + +函数的参数包括形参和实参。来看下面的图就懂了: + + +![](http://img.smyhvae.com/20180118_1130.png) + +注意:实际参数和形式参数的个数,要相同。 + +举例: + +```javascript + sum(3,4); + sum("3",4); + sum("Hello","World"); + + //函数:求和 + function sum(a, b) { + console.log(a + b); + } +``` + +控制台输出结果: + +``` + 7 + 34 + helloworld +``` + +### 函数的返回值 + +举例: + +```javascript + console.log(sum(3, 4)); + + //函数:求和 + function sum(a, b) { + return a + b; + } +``` + +return的作用是结束方法。 + ## 函数 function diff --git a/03-JavaScript基础/21-对象、作用域和this.md b/03-JavaScript基础/17-对象、作用域和this.md similarity index 100% rename from 03-JavaScript基础/21-对象、作用域和this.md rename to 03-JavaScript基础/17-对象、作用域和this.md diff --git a/03-JavaScript基础/22-对象的创建、构造函数和原型.md b/03-JavaScript基础/18-对象的创建、构造函数和原型.md similarity index 100% rename from 03-JavaScript基础/22-对象的创建、构造函数和原型.md rename to 03-JavaScript基础/18-对象的创建、构造函数和原型.md diff --git a/03-JavaScript基础/23-数组.md b/03-JavaScript基础/19-数组.md similarity index 100% rename from 03-JavaScript基础/23-数组.md rename to 03-JavaScript基础/19-数组.md diff --git a/03-JavaScript基础/24-内置对象.md b/03-JavaScript基础/20-内置对象.md similarity index 100% rename from 03-JavaScript基础/24-内置对象.md rename to 03-JavaScript基础/20-内置对象.md diff --git a/03-JavaScript基础/25-DOM操作.md b/03-JavaScript基础/21-DOM操作.md similarity index 100% rename from 03-JavaScript基础/25-DOM操作.md rename to 03-JavaScript基础/21-DOM操作.md diff --git a/03-JavaScript基础/26-事件对象Event和冒泡.md b/03-JavaScript基础/22-事件对象Event和冒泡.md similarity index 100% rename from 03-JavaScript基础/26-事件对象Event和冒泡.md rename to 03-JavaScript基础/22-事件对象Event和冒泡.md diff --git a/03-JavaScript基础/27-事件委托.md b/03-JavaScript基础/23-事件委托.md similarity index 100% rename from 03-JavaScript基础/27-事件委托.md rename to 03-JavaScript基础/23-事件委托.md diff --git a/03-JavaScript基础/28-BOM的常见内置方法和内置对象.md b/03-JavaScript基础/24-BOM的常见内置方法和内置对象.md similarity index 100% rename from 03-JavaScript基础/28-BOM的常见内置方法和内置对象.md rename to 03-JavaScript基础/24-BOM的常见内置方法和内置对象.md diff --git a/03-JavaScript基础/29-原型链.md b/03-JavaScript基础/25-原型链.md similarity index 100% rename from 03-JavaScript基础/29-原型链.md rename to 03-JavaScript基础/25-原型链.md diff --git a/03-JavaScript基础/30-常见代码解读.md b/03-JavaScript基础/26-常见代码解读.md similarity index 100% rename from 03-JavaScript基础/30-常见代码解读.md rename to 03-JavaScript基础/26-常见代码解读.md