From b6634a5bfef1dfcd1e1a6656e06bd41addb975e3 Mon Sep 17 00:00:00 2001 From: qianguyihao Date: Fri, 12 Jun 2020 15:51:38 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E5=86=85=E7=BD=AE=E5=AF=B9=E8=B1=A1=20N?= =?UTF-8?q?umber?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...oolean.md => 04-基本数据类型:String 和 Boolean.md} | 256 ------------- 04-JavaScript基础/05-基本数据类型:Number.md | 344 ++++++++++++++++++ ...defined.md => 06-基本数据类型:Null 和 Undefined.md} | 0 ...据类型转换.md => 07-typeof和数据类型转换.md} | 0 .../{07-运算符.md => 08-运算符.md} | 0 ...witch).md => 09-流程控制语句:选择结构(if和switch).md} | 0 ...while).md => 10-流程控制语句:循环结构(for和while).md} | 0 .../{10-对象简介.md => 11-对象简介.md} | 0 .../{11-基本包装类型.md => 12-基本包装类型.md} | 0 ...见方法.md => 13-内置对象 String:字符串的常见方法.md} | 33 +- ...Number和Math.md => 14-内置对象:Number和Math.md} | 77 ++-- ...4-内置对象:Date.md => 15-内置对象:Date.md} | 0 ...符串的深入学习.md => 16-字符串的深入学习.md} | 0 16-推荐链接/02-GitHub项目推荐.md | 15 +- 14 files changed, 430 insertions(+), 295 deletions(-) rename 04-JavaScript基础/{04-基本数据类型:String & Number & Boolean.md => 04-基本数据类型:String 和 Boolean.md} (52%) create mode 100644 04-JavaScript基础/05-基本数据类型:Number.md rename 04-JavaScript基础/{05-基本数据类型:Null 和 Undefined.md => 06-基本数据类型:Null 和 Undefined.md} (100%) rename 04-JavaScript基础/{06-typeof和数据类型转换.md => 07-typeof和数据类型转换.md} (100%) rename 04-JavaScript基础/{07-运算符.md => 08-运算符.md} (100%) rename 04-JavaScript基础/{08-流程控制语句:选择结构(if和switch).md => 09-流程控制语句:选择结构(if和switch).md} (100%) rename 04-JavaScript基础/{09-流程控制语句:循环结构(for和while).md => 10-流程控制语句:循环结构(for和while).md} (100%) rename 04-JavaScript基础/{10-对象简介.md => 11-对象简介.md} (100%) rename 04-JavaScript基础/{11-基本包装类型.md => 12-基本包装类型.md} (100%) rename 04-JavaScript基础/{12-内置对象 String:字符串的常见方法.md => 13-内置对象 String:字符串的常见方法.md} (94%) rename 04-JavaScript基础/{13-内置对象:Number和Math.md => 14-内置对象:Number和Math.md} (79%) rename 04-JavaScript基础/{14-内置对象:Date.md => 15-内置对象:Date.md} (100%) rename 04-JavaScript基础/{15-字符串的深入学习.md => 16-字符串的深入学习.md} (100%) diff --git a/04-JavaScript基础/04-基本数据类型:String & Number & Boolean.md b/04-JavaScript基础/04-基本数据类型:String 和 Boolean.md similarity index 52% rename from 04-JavaScript基础/04-基本数据类型:String & Number & Boolean.md rename to 04-JavaScript基础/04-基本数据类型:String 和 Boolean.md index 965cc61..66c6511 100644 --- a/04-JavaScript基础/04-基本数据类型:String & Number & Boolean.md +++ b/04-JavaScript基础/04-基本数据类型:String 和 Boolean.md @@ -244,147 +244,6 @@ document.body.innerHTML = myTemplate(); ![](http://img.smyhvae.com/20200607_2118.png) -## 数值型:Number - -在JS中所有的数值都是 Number 类型,包括整数和浮点数(小数)。 - -```javascript - var a = 100; // 定义一个变量 a,并且赋值整数100 - console.log(typeof a); // 输出变量 a 的类型 - - var b = 12.3; // 定义一个变量 b,并且赋值浮点数 12.3 - console.log(typeof a); -``` - -上方代码的输出结果为: - -``` -number - -number -``` - -再次补充:在 JS 中,只要是数,就是 Number 数值型的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是 Number 类型的。 - -### 数值范围 - -由于内存的限制,ECMAScript 并不能保存世界上所有的数值。 - -- 最大值:`Number.MAX_VALUE`,这个值为: 1.7976931348623157e+308 - -- 最小值:`Number.MIN_VALUE`,这个值为: 5e-324 - -如果使用 Number 表示的变量超过了最大值,则会返回Infinity。 - -- 无穷大(正无穷):Infinity - -- 无穷小(负无穷):-Infinity - -注意:`typeof Infinity`的返回结果是number。 - - -### NaN - -**NaN**:是一个特殊的数字,表示Not a Number,非数值。比如: - -```javascript - console.log("abc" / 18); //结果是NaN - - console.log("abc" * "abcd"); //按理说,字符串相乘是没有结果的,但如果你非要让JS去算,它就一定会给你一个结果。结果是NaN -``` - -注意:`typeof NaN`的返回结果是 number。 - -Undefined和任何数值计算的结果为 NaN。NaN 与任何值都不相等,包括 NaN 本身。 - -另外,关于 isNaN() 函数,可以看下一篇文章。 - -### 浮点数的运算 - -在JS中,整数的运算**基本**可以保证精确;但是**小数的运算,可能会得到一个不精确的结果**。所以,千万不要使用JS进行对精确度要求比较高的运算。 - -如下: - -```javascript - var a = 0.1 + 0.2; - console.log(a); //打印结果:0.30000000000000004 -``` - -上方代码中,打印结果并不是0.3,而是0.30000000000000004。 - -我们知道,所有的运算都要转换成二进制去计算,然而,二进制是无法精确表示1/10的。因此存在小数的计算不精确的问题。 - -### 连字符和加号的区别 - -键盘上的`+`可能是连字符,也可能是数字的加号。如下: - -``` -console.log("我" + "爱" + "你"); //连字符,把三个独立的汉字,连接在一起了 -console.log("我+爱+你"); //原样输出 -console.log(1+2+3); //输出6 -``` - -输出: - -``` -我爱你 -我+爱+你 -6 -``` - -**总结**:如果加号两边**都是** Number 类型,此时是数字相加。否则,就是连字符(用来连接字符串)。 - -举例1: - -```javascript -var a = "1"; -var b = 2; -console.log(a + b); -``` - -控制台输出: - -``` -12 -``` - -举例2: - -``` -var a = 1; -var b = 2; -console.log("a" + b); //"a"就不是变量了!所以就是"a"+2 输出a2 - -``` - -控制台输出: - -``` -a2 -``` - -于是我们明白了,在变量中加入字符串进行拼接,可以被同化为字符串。【重要】 - - -### 隐式转换 - -我们知道,`"2"+1`得到的结果其实是字符串,但是`"2"-1`得到的结果却是数值1,这是因为计算机自动帮我们进行了“**隐式转换**”。 - -也就是说,`-`、`*`、`/`、`%`这几个符号会自动进行隐式转换。例如: - -```javascript -var a = "4" + 3 - 6; -console.log(a); -``` - -输出结果: - -```javascript -37 -``` - -虽然程序可以对`-`、`*`、`/`、`%``这几个符号自动进行“隐式转换”;但作为程序员,我们最好自己完成转换,方便程序的可读性。 - ## 布尔值:Boolean @@ -408,121 +267,6 @@ boolean 布尔型和数字型相加时, true 按 1 来算 ,false 按 0 来算。 -## 变量值的传递(赋值) - -语句: - -``` -a = b; -``` - -把b的值赋给a,b不变。 - -将等号右边的值,赋给左边的变量;等号右边的变量,值不变。 - -来做几个题目。 - -举例1: - -```js - //a b c -var a = 1; //1 -var b = 2; //1 2 -var c = 3; //1 2 3 -a = b + c; //5 2 3 -b = c - a; //5 -2 3 -c = a * b; //5 -2 -10 -console.log(a); -console.log(b); -console.log(c); -``` - -输出: - -``` -5 --2 --10 -``` - -举例2: - -```js - //a b c -var a = 1; -var b = 2; -var c = 3; //1 2 3 -a = a + b; //3 2 3 -b = b + a; //3 5 3 -c = c + b; //3 5 8 -console.log(a); //3 -console.log(b); //5 -console.log(c); //8 -``` - -输出: - -``` -3 -5 -8 -``` - -举例3: - -```js - //a b -var a = "1"; -var b = 2; //"1" 2 -a = a + b; //"12" 2 -b = b + a; //"12" "212" -console.log(a); //输出12 -console.log(b); //输出212 -``` - -输出: - -``` -12 -212 -``` - -举例4: - -```js - //a b -var a = "1"; -var b = 2; -a = b + a; //"21" 2 -b = b + a; //"21" "221" -console.log(a); //21 -console.log(b) //221 -``` - - -效果: - -``` -21 -221 -``` - -举例5:(这个例子比较特殊,字符串减去数字) - -```js -var a = "3"; -var b = 2; -console.log(a-b); -``` - - -效果:(注意,字符串 - 数值 = 数值) - -``` -1 -``` - - ## 我的公众号 diff --git a/04-JavaScript基础/05-基本数据类型:Number.md b/04-JavaScript基础/05-基本数据类型:Number.md new file mode 100644 index 0000000..ec1343b --- /dev/null +++ b/04-JavaScript基础/05-基本数据类型:Number.md @@ -0,0 +1,344 @@ + +## 数值型:Number + +在JS中所有的数值都是 Number 类型,包括整数和浮点数(小数)。 + +```javascript + var a = 100; // 定义一个变量 a,并且赋值整数100 + console.log(typeof a); // 输出变量 a 的类型 + + var b = 12.3; // 定义一个变量 b,并且赋值浮点数 12.3 + console.log(typeof a); +``` + +上方代码的输出结果为: + +``` +number + +number +``` + +再次补充:在 JS 中,只要是数,就是 Number 数值型的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是 Number 类型的。 + +### 数值范围 + +由于内存的限制,ECMAScript 并不能保存世界上所有的数值。 + +- 最大值:`Number.MAX_VALUE`,这个值为: 1.7976931348623157e+308 + +- 最小值:`Number.MIN_VALUE`,这个值为: 5e-324 + +如果使用 Number 表示的变量超过了最大值,则会返回Infinity。 + +- 无穷大(正无穷):Infinity + +- 无穷小(负无穷):-Infinity + +注意:`typeof Infinity`的返回结果是number。 + + +### NaN + +**NaN**:是一个特殊的数字,表示Not a Number,非数值。比如: + +```javascript + console.log("abc" / 18); //结果是NaN + + console.log("abc" * "abcd"); //按理说,字符串相乘是没有结果的,但如果你非要让JS去算,它就一定会给你一个结果。结果是NaN +``` + +注意:`typeof NaN`的返回结果是 number。 + +Undefined和任何数值计算的结果为 NaN。NaN 与任何值都不相等,包括 NaN 本身。 + +另外,关于 isNaN() 函数,可以看下一篇文章。 + +### 连字符和加号的区别 + +键盘上的`+`可能是连字符,也可能是数字的加号。如下: + +``` +console.log("我" + "爱" + "你"); //连字符,把三个独立的汉字,连接在一起了 +console.log("我+爱+你"); //原样输出 +console.log(1+2+3); //输出6 +``` + +输出: + +``` +我爱你 +我+爱+你 +6 +``` + +**总结**:如果加号两边**都是** Number 类型,此时是数字相加。否则,就是连字符(用来连接字符串)。 + +举例1: + +```javascript +var a = "1"; +var b = 2; +console.log(a + b); +``` + +控制台输出: + +``` +12 +``` + +举例2: + +``` +var a = 1; +var b = 2; +console.log("a" + b); //"a"就不是变量了!所以就是"a"+2 输出a2 + +``` + +控制台输出: + +``` +a2 +``` + +于是我们明白了,在变量中加入字符串进行拼接,可以被同化为字符串。【重要】 + + +### 隐式转换 + +我们知道,`"2"+1`得到的结果其实是字符串,但是`"2"-1`得到的结果却是数值1,这是因为计算机自动帮我们进行了“**隐式转换**”。 + +也就是说,`-`、`*`、`/`、`%`这几个符号会自动进行隐式转换。例如: + +```javascript +var a = "4" + 3 - 6; +console.log(a); +``` + +输出结果: + +```javascript +37 +``` + +虽然程序可以对`-`、`*`、`/`、`%``这几个符号自动进行“隐式转换”;但作为程序员,我们最好自己完成转换,方便程序的可读性。 + + +## 浮点数的运算 + +### 运算精度问题 + +在JS中,整数的运算**基本**可以保证精确;但是**小数的运算,可能会得到一个不精确的结果**。所以,千万不要使用JS进行对精确度要求比较高的运算。 + +如下: + +```javascript + var a = 0.1 + 0.2; + console.log(a); //打印结果:0.30000000000000004 +``` + +上方代码中,打印结果并不是0.3,而是0.30000000000000004。 + +这是因为,计算机在做运算时,所有的运算都要转换成二进制去计算。然而,有些数字转换成二进制之后,无法精确表示。比如说,0.1和0.2转换成二进制之后,是无穷的,因此存在浮点数的计算不精确的问题。 + +### 处理数学运算的精度问题 + +如果只是一些简单的精度问题,可以使用 `toFix()` 方法进行小数的截取。备注:关于 `toFixed()`方法, 详见《JavaScript基础/内置对象:Number 和 Math》。 + +在实战开发中,关于浮点数计算的精度问题,往往比较复杂。市面上有很多针对数学运算的开源库,比如[decimal.js](https://github.com/MikeMcl/decimal.js/)、 [Math.js](https://github.com/josdejong/mathjs)。这些开源库都比较成熟,我们可以直接拿来用。 + +- Math.js:属于很全面的运算库,文件很大,压缩后的文件就有500kb。如果你的项目涉及到大型的复杂运算,可以使用 Math.js。 + +- decimal.js:属于轻量的运算库,压缩后的文件只有32kb。大多数项目的数学运算,使用 decimal.js 足够了。 + + +在使用这几个开源库时,既可以用 cdn 的方式引入,也可以用 npm 包的方式引入。 + +比如说,通过 cdn 的方式引入 decimal.js 时,可以这样用: + + +```html + + + + + + Document + + + + + + +``` + +打印结果: + +``` +加法: +0.30000000000000004 +0.3 + +减法: +0.30000000000000004 +0.3 + +乘法: +1.0130299999999999 +1.01303 + +除法: +0.0029000000000000002 +0.0029 +``` + +参考链接: + +- + +- + + + + + +## 变量值的传递(赋值) + +语句: + +``` +a = b; +``` + +把b的值赋给a,b不变。 + +将等号右边的值,赋给左边的变量;等号右边的变量,值不变。 + +来做几个题目。 + +举例1: + +```js + //a b c +var a = 1; //1 +var b = 2; //1 2 +var c = 3; //1 2 3 +a = b + c; //5 2 3 +b = c - a; //5 -2 3 +c = a * b; //5 -2 -10 +console.log(a); +console.log(b); +console.log(c); +``` + +输出: + +``` +5 +-2 +-10 +``` + +举例2: + +```js + //a b c +var a = 1; +var b = 2; +var c = 3; //1 2 3 +a = a + b; //3 2 3 +b = b + a; //3 5 3 +c = c + b; //3 5 8 +console.log(a); //3 +console.log(b); //5 +console.log(c); //8 +``` + +输出: + +``` +3 +5 +8 +``` + +举例3: + +```js + //a b +var a = "1"; +var b = 2; //"1" 2 +a = a + b; //"12" 2 +b = b + a; //"12" "212" +console.log(a); //输出12 +console.log(b); //输出212 +``` + +输出: + +``` +12 +212 +``` + +举例4: + +```js + //a b +var a = "1"; +var b = 2; +a = b + a; //"21" 2 +b = b + a; //"21" "221" +console.log(a); //21 +console.log(b) //221 +``` + + +效果: + +``` +21 +221 +``` + +举例5:(这个例子比较特殊,字符串减去数字) + +```js +var a = "3"; +var b = 2; +console.log(a-b); +``` + + +效果:(注意,字符串 - 数值 = 数值) + +``` +1 +``` + diff --git a/04-JavaScript基础/05-基本数据类型:Null 和 Undefined.md b/04-JavaScript基础/06-基本数据类型:Null 和 Undefined.md similarity index 100% rename from 04-JavaScript基础/05-基本数据类型:Null 和 Undefined.md rename to 04-JavaScript基础/06-基本数据类型:Null 和 Undefined.md diff --git a/04-JavaScript基础/06-typeof和数据类型转换.md b/04-JavaScript基础/07-typeof和数据类型转换.md similarity index 100% rename from 04-JavaScript基础/06-typeof和数据类型转换.md rename to 04-JavaScript基础/07-typeof和数据类型转换.md diff --git a/04-JavaScript基础/07-运算符.md b/04-JavaScript基础/08-运算符.md similarity index 100% rename from 04-JavaScript基础/07-运算符.md rename to 04-JavaScript基础/08-运算符.md diff --git a/04-JavaScript基础/08-流程控制语句:选择结构(if和switch).md b/04-JavaScript基础/09-流程控制语句:选择结构(if和switch).md similarity index 100% rename from 04-JavaScript基础/08-流程控制语句:选择结构(if和switch).md rename to 04-JavaScript基础/09-流程控制语句:选择结构(if和switch).md diff --git a/04-JavaScript基础/09-流程控制语句:循环结构(for和while).md b/04-JavaScript基础/10-流程控制语句:循环结构(for和while).md similarity index 100% rename from 04-JavaScript基础/09-流程控制语句:循环结构(for和while).md rename to 04-JavaScript基础/10-流程控制语句:循环结构(for和while).md diff --git a/04-JavaScript基础/10-对象简介.md b/04-JavaScript基础/11-对象简介.md similarity index 100% rename from 04-JavaScript基础/10-对象简介.md rename to 04-JavaScript基础/11-对象简介.md diff --git a/04-JavaScript基础/11-基本包装类型.md b/04-JavaScript基础/12-基本包装类型.md similarity index 100% rename from 04-JavaScript基础/11-基本包装类型.md rename to 04-JavaScript基础/12-基本包装类型.md diff --git a/04-JavaScript基础/12-内置对象 String:字符串的常见方法.md b/04-JavaScript基础/13-内置对象 String:字符串的常见方法.md similarity index 94% rename from 04-JavaScript基础/12-内置对象 String:字符串的常见方法.md rename to 04-JavaScript基础/13-内置对象 String:字符串的常见方法.md index 4a86538..d0fd293 100644 --- a/04-JavaScript基础/12-内置对象 String:字符串的常见方法.md +++ b/04-JavaScript基础/13-内置对象 String:字符串的常见方法.md @@ -1,4 +1,35 @@ -## 前言 + +## 内置对象简介 + +> JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象。 + +> 前面两种对象:是JS的基础内容,属于 ECMAScript; 第三个浏览器对象:属于JS独有,即 JS 内置的API。 + +**内置对象**:就是指这个语言自带的一些对象,供开发者使用,这些对象提供了一些常用或者最基本而必要的功能(属性和方法)。 + +内置对象最大的优点就是帮助我们快速开发。 + +**JavaScript的内置对象**: + +| 内置对象 | 对象说明 | +|:-------------|:-------------| +| Arguments | 函数参数集合| +| Array | 数组| +| Boolean | 布尔对象| +| Math | 数学对象| +| Date | 日期时间| +| Error | 异常对象| +| Function | 函数构造器| +| Number | 数值对象| +| Object | 基础对象| +| RegExp | 正则表达式对象| +| String | 字符串对象| + +前面的几篇文章中,我们专门讲到了数组 Array。今天这篇文章,我们先来讲一下内置对象 Math。 + + + +## 字符串前言 > 在日常开发中,String 对象(字符串对象)的使用频率是非常高的。所以有必要详细介绍。 diff --git a/04-JavaScript基础/13-内置对象:Number和Math.md b/04-JavaScript基础/14-内置对象:Number和Math.md similarity index 79% rename from 04-JavaScript基础/13-内置对象:Number和Math.md rename to 04-JavaScript基础/14-内置对象:Number和Math.md index 8b202d8..e170124 100644 --- a/04-JavaScript基础/13-内置对象:Number和Math.md +++ b/04-JavaScript基础/14-内置对象:Number和Math.md @@ -1,32 +1,43 @@ -## 内置对象简介 -> JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象。 +## 内置对象 Number 的常见方法 -> 前面两种对象:是JS的基础内容,属于 ECMAScript; 第三个浏览器对象:属于JS独有,即 JS 内置的API。 -**内置对象**:就是指这个语言自带的一些对象,供开发者使用,这些对象提供了一些常用或者最基本而必要的功能(属性和方法)。 +### Number.isInteger() 判断是否为整数 -内置对象最大的优点就是帮助我们快速开发。 +语法: -**JavaScript的内置对象**: +``` +布尔值 = Number.isInteger(数字); +``` -| 内置对象 | 对象说明 | -|:-------------|:-------------| -| Arguments | 函数参数集合| -| Array | 数组| -| Boolean | 布尔对象| -| Math | 数学对象| -| Date | 日期时间| -| Error | 异常对象| -| Function | 函数构造器| -| Number | 数值对象| -| Object | 基础对象| -| RegExp | 正则表达式对象| -| String | 字符串对象| -前面的几篇文章中,我们专门讲到了数组 Array。今天这篇文章,我们先来讲一下内置对象 Math。 +### toFixed() 小数点后面保留多少位 +语法: + +```js +字符串 = myNum.toFixed(num); +``` + +解释:将数字 myNum 的小数点后面保留 num 位小数(四舍五入),并返回。不会改变原数字。注意,**返回结果是字符串**。 + +参数 num:指定了小数点后面的位数。 + +举例: + +```js +let num = 3.456; +let num2 = num.toFixed(2); + +console.log(num); // 打印结果:3.456 +console.log(num2); // 打印结果:3.47 + +console.log(typeof num); // number +console.log(typeof num2); // string +``` + +上方代码中,`num2`的结果是0.12,但是请注意,`num`的类型Number型,而`num`的类型却是String型。 ## 内置对象 Math 的常见方法 @@ -39,14 +50,15 @@ Math属于一个工具类,里面封装了数学运算相关的属性和方法 |:-------------|:-------------|:-------------| | Math.PI | 圆周率 | Math对象的属性 | | Math.abs() | **返回绝对值** | | +| Math.random() | 生成0-1之间的**随机浮点数** | 取值范围是 [0,1) | | Math.floor() | **向下取整**(往小取值) | | | Math.ceil() | **向上取整**(往大取值) | | | Math.round() | 四舍五入取整(正数四舍五入,负数五舍六入) | | -| Math.random() | 生成0-1之间的**随机浮点数** | 取值范围是 [0,1) | | Math.max(x, y, z) | 返回多个数中的最大值 | | | Math.min(x, y, z) | 返回多个数中的最小值 | | -| Math.pow(x,y) | 返回 x 的 y 次幂 | | -| Math.sqrt() | 对一个数进行开方运算 | | +| Math.pow(x,y) | 乘方:返回 x 的 y 次幂 | | +| Math.sqrt() | 开方:对一个数进行开方运算 | | + **举例**: @@ -79,7 +91,7 @@ Math属于一个工具类,里面封装了数学运算相关的属性和方法 0.6453756205275165 ``` -## Math.abs() 方法 +## Math.abs():获绝对值 方法定义:返回绝对值。 @@ -99,7 +111,7 @@ Math属于一个工具类,里面封装了数学运算相关的属性和方法 console.log(Math.abs('hello')); // NaN ``` -## Math.random() 方法 +## Math.random() 方法:生成随机数 方法定义:生成 [0, 1) 之间的**随机浮点数**。 @@ -135,7 +147,7 @@ Math属于一个工具类,里面封装了数学运算相关的属性和方法 console.log(getRandom(1, 10)); ``` -### 随机点名 +### 举例:随机点名 根据上面的例子,我们还可以再延伸一下,来看看随机点名的例子。 @@ -153,12 +165,7 @@ Math属于一个工具类,里面封装了数学运算相关的属性和方法 ``` - - - - - -## 乘方 +## pow():乘方 如果想计算 `a 的 b 次方`,可以使用如下函数: @@ -166,7 +173,7 @@ Math属于一个工具类,里面封装了数学运算相关的属性和方法 Math.pow(a, b); ``` -Math的中文是“数学”,pow是“power 幂”。 +Math的中文是“数学”,pow是“幂”。 **举例1:** @@ -190,7 +197,7 @@ Math的中文是“数学”,pow是“power 幂”。 console.log(a); ``` -## 开方 +## sqrt():开方 如果想计算数值a的开二次方,可以使用如下函数: @@ -205,7 +212,6 @@ sqrt即“square 开方”。比如: ``` - ## url 编码和解码 URI (Uniform ResourceIdentifiers,通用资源标识符)进行编码,以便发送给浏览器。有效的URI中不能包含某些字符,例如空格。而这URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字符,从而让浏览器能够接受和理解。 @@ -213,7 +219,6 @@ URI (Uniform ResourceIdentifiers,通用资源标识符)进行编码,以便发 ```javascript encodeURIComponent(); //把字符串作为 URI 组件进行编码 decodeURIComponent(); //把字符串作为 URI 组件进行解码 - ``` 举例: diff --git a/04-JavaScript基础/14-内置对象:Date.md b/04-JavaScript基础/15-内置对象:Date.md similarity index 100% rename from 04-JavaScript基础/14-内置对象:Date.md rename to 04-JavaScript基础/15-内置对象:Date.md diff --git a/04-JavaScript基础/15-字符串的深入学习.md b/04-JavaScript基础/16-字符串的深入学习.md similarity index 100% rename from 04-JavaScript基础/15-字符串的深入学习.md rename to 04-JavaScript基础/16-字符串的深入学习.md diff --git a/16-推荐链接/02-GitHub项目推荐.md b/16-推荐链接/02-GitHub项目推荐.md index 94114f0..e15ed2a 100644 --- a/16-推荐链接/02-GitHub项目推荐.md +++ b/16-推荐链接/02-GitHub项目推荐.md @@ -16,6 +16,11 @@ - TypeScript 教程: +## Node.js + +Node.js学习: + + ## 算法类 - 数据结构和算法: @@ -42,16 +47,22 @@ - 单元测试: -## 面试 +## 前端面试 + +- 前端面试常考问题整理,按模块知识点分类: - 前端开发面试题: - web前端面试宝典: -- 反向面试(反问面试官的问题): - 掘金前端面试题合集: +## 综合面试 + +- 反向面试(反问面试官的问题): + + ## 博客 - 收集优质的中文前端博客: