Explorar el Código

feat(js):新增js文档

liuchuanwei hace 4 meses
padre
commit
45de359957

+ 1 - 0
前端/JavaScript运行机制:事件驱动变成详解.md

@@ -0,0 +1 @@
+[JavaScript运行机制:事件驱动编程详解 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/30894022)

+ 98 - 0
前端/js基础语法.md

@@ -1,3 +1,101 @@
+[《前端科普系列-Web:一路前行一路忘川》](https://zhuanlan.zhihu.com/p/91842778)
+
+[《前端科普系列-Node.js:换个角度看世界》](https://zhuanlan.zhihu.com/p/91844181)
+
+[《前端科普系列-CommonJS:不是前端却革命了前端》](https://zhuanlan.zhihu.com/p/113009496)
+
+[《前端科普系列-Babel:把 ES6 送上天的通天塔》](https://zhuanlan.zhihu.com/p/129089156)
+
+[《前端科普系列-ESlint:守住优雅的护城河》](https://zhuanlan.zhihu.com/p/184951182)
+
+## 六种数据类型
+
+JavaScript 有六种数据类型:
+* 数值
+* 字符串
+* 布尔值
+* null
+* undefined
+* 对象
+其中,数值、字符串、布尔值是原始类型,不能再细分了。对象则是合成类型,由多个原始类型的值合成,可以看作是存放各种值的容器。null 和 undefined 一般是看作两个特殊值。
+
+通过以下三种方式可以确定值的类型:
+* typeof
+* instanceof
+* Object.prototype.toString 方法
+
+```js
+// 数值
+var a = 123;
+console.log(typeof a); //number
+// 字符串
+var b = '123';
+console.log(typeof b); //string
+//布尔
+var c = true;
+console.log(typeof c); //boolean
+//undefined
+var d;
+console.log(typeof d); //undefined
+//函数
+var f = function() {console.log('f');}
+console.log(typeof f); //function
+
+```
+
+
+
+## 字符串转为数值
+
+JavaScript内部所有的数值都是以64位浮点数形式存储的,即使整数也是如此。所以 1 和 1.0 是相同的,是同一个数。
+```js
+console.log(1 === 1.0); // true
+```
+
+由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心!
+
+```js
+var a = 0.1, b = 0.2, c = 0.3;
+console.log(a+b); // 0.30000000000000004
+console.log(a+b === c); // false
+
+console.log(0.3/0.1); // 2.9999999999999996
+console.log(0.3-0.2); // 0.09999999999999998
+console.log(0.2-0.1); // 0.1
+console.log(0.3-0.2 == 0.2-0.1); // false
+```
+```
+
+## 转为布尔值
+
+```js
+var a = '';
+if (a) {console.log('a:true');};
+var b = ' ';
+if (b) {console.log('b:true');};
+var c = 0;
+if (c) {console.log('c:true');};
+var d = 'true';
+if (d) {console.log('d:true');};
+var e = 'false';
+if (e) {console.log('e:true');};
+var f = {};
+if (f) {console.log('f:true');};
+var g = null;
+if (g) {console.log('g:true');};
+var h;
+if (h) {console.log('h:true');};
+```
+
+如果JavaScript认为某个位置应该是布尔值,会将该位置的值自动转为布尔值。转换规则是:除了以下6个值会被转成false,其他值都视为true。
+* undefined
+* null
+* false
+* 0
+* NaN
+* '' 或 "" (空字符串)
+
+
 ## 数组 Array
 ### 定义
 ```js