[TOC]
## 1.強制轉換
* string,boolean-->Number(value)
> 特點:只能識別純數字的字符串
~~~
true-->1
false-->0
~~~
~~~
var a = "12";
var b = "true";
var c = true;
var d = false;
console.log(Number(a));
console.log(Number(b));//注意
console.log(Number(c));
console.log(Number(d));
~~~
輸出答案如下:

* string-->number
parseInt();
parseFloat();
Tip:第一位必須為數字
~~~
var test =document.getElementById("test");
var height=test.style.height;
console.log(parseInt(height));
test.onclick = function(){
this.style.height = parseInt(this.style.height)+1+"px";
}
var a="12px";
var b="a13px";
var c="13.45px";
console.log(parseInt(a));
console.log(parseInt(b));
console.log(parseInt(b));
console.log(parseFloat(c));
~~~

## 2.自動轉換
> 定義:不需要程序員干預,js自動完成的類型轉換
算數計算中的自動轉換:
### 2.1.算數計算中,數據都默認轉為數字,再計算,不能轉為數字則為NaN
~~~
Boolean類型:true-->1 false-->0
eg:
var a=1;
var b=true;
var c = "hello world";
console.log(a+b); //2
console.log(a-c); //NaN
~~~
### 2.2.特殊+運算中,碰到字符串,+就變為字符串拼接
另一個不是字符串的數據,被自動轉為字符串
比較運算(>,<,>=,<=,==,!=)中的自動轉換:
默認將所有類型轉為數字再比較
將兩個值做比較-->返回值:true、false
## 3.強制轉換
### 3.1. 任意-->數字:3個API
a.特點:只能識別純數字的字符串
~~~
Number(x)
eg:
var a ="20";
console.log(Number(a))
//只能識別這樣的字符串
~~~
b. 將字符串轉為數字:2個API
parseInt(str):
從第一個字符開始依次讀取每個數字,只要碰上第一個非數字字符就停止,自動跳過開頭的空字符
***不識別小數點
> Tip:何時使用:將字符串轉為整數時
~~~
var width="20px";
console.log(Number(width)) //NaN
console.log(parseInt(width)) //20
~~~
parseFloat(str):用法同parseInt
> 比較Number()和parseInt()
~~~
var b=true;
console.log(Number(b)) //1
console.log(parseInt(String(b))) //NaN
~~~
### 3.2. 任意類型-->字符串:2個API
~~~
x.toString(); x不是undefined或null時,才可用
String(x)
~~~
### 3.3.任意類型-->Boolean: Boolean(x)
~~~
只有5個值轉為false:
"" NaN undefined null 0
其余都轉為true
~~~
- 1.JS的基礎知識
- (1)調試
- (2)變量
- (3)數據類型
- 數據類型之間的轉換
- (4)全局變量和局部變量
- (5)運算符和表達式
- (6)數組
- 2.控制語句DOM,BOM,事件
- (1)控制語句
- (2)DOM的基礎
- 節點
- 改變樣式
- DOM事件
- 3.函數
- (1)聲明函數
- (2)構造函數
- (3)函數的參數
- (4)函數的傳參
- (5)改變this
- (6)重載
- (7)回調函數
- 4.數組
- (1)創建數組
- (2)增刪改查
- (3)字符串與數組的轉換
- 5.正則
- (1)創建正則
- (2)字符串中支持正則
- (3)語法
- 最核心的元字符
- 6.ajax
- (1)原生ajax
- (2)http,get,post
- (3)跨域
- (4)jQuery-ajax
- (5)axios
- 7.面向對象
- (1)原型
- (2)原型鏈,繼承
- (3)多態
- 8.es6小結
- 9.js+canvas實現驗證碼
- 10.js的作用域
- 11.閉包
- 實例
- toggle
- 圖片切換
- swiper
- 遮罩顏色漸變
- 表格添加
- 瀑布流
- ajax數據請求渲染
- 百度地圖