[TOC]
# 4.1 強制轉換
## 4.1.1 boolean
~~~
var a = "hello";
var b = 20;
console.log(Boolean(a)); //true
console.log(Boolean(b)); //true
~~~
> == 特殊
~~~
console.log(""==0); //true
console.log(undefined == null); //true
~~~
~~~
other-->boolean Boolean();
就這五種情況為false
""(中間沒有空格),0,NaN,undefined,null-->false
~~~
## 4.1.2 Number
~~~
string,boolean-->Number(value)
特點:只能識別純數字的字符串
true-->1
false-->0
~~~
~~~
var a = "12";
var b = "true";
var c = true;
var d = false;
var e = "12px"
console.log(Number(a)); //12
console.log(Number(b)); //NaN
console.log(Number(c)); //1
console.log(Number(d)); //0
console.log(a-b); //NaN
~~~
## 4.1.3 string
* 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"; //點擊一下高度加1
}
var a="12px";
var b = "a13px";
var c = "13.45px";
console.log(parseInt(a)); //12
console.log(parseInt(b)); //NaN
console.log(parseInt(c)); //13
console.log(parseFloat(c)); //13.45
~~~
## 4.1.4 邏輯轉換
~~~
&&,||,!
結果返回boolean值
&& 兩邊都為true,結果為true
|| 只要一遍為true,結果為true
!-->取反
var a = 10;
var b = 20;
var c = 30;
var d = 40;
console.log(a<b && c>d);
console.log(a<b && c<d);
console.log(a<b || c>d);
console.log(!(a>b))
~~~
## 4.1.4 總結
~~~
other-->Number Number(value)
string--Number parseInt(),parseFloat()
other-->Boolean Boolean()
other--String String() toString()
var a = 20;
var b = true;
console.log(String(a)); //20
console.log(b.toString()); //true
~~~
# 4.2 自動轉換
~~~
自動轉換發生在計算中
算術,比較,邏輯,三目,賦值
==
1.只要一邊為boolean,先將其轉為number
2.一邊為string,一邊為number,先將string-->number
3.NaN和任何值運算,結果都為false
1.變量
2.數據類型的分類
3.運算符和表達式
4.數據類型轉換
~~~
- 效果實例
- 1.點擊增加高度
- 2.tab頁面切換
- 3. 列表切換
- 4. 隔行變色
- 5. swiper 輪播
- 6.vue
- 7.定時器
- 8. 向表格中添加數據
- 9 瀑布流
- 1.JavaScript基礎
- 1. 變量
- 2. 調試
- 3.數據類型
- 4.轉換
- 5.控制語句
- 6.運算
- 7. this
- 8 JSON對象和javascript對象的相互轉換
- 2.JavaScript的控制語句
- 1. 基本控制語句
- 2.節點
- 2.1DOM補充
- 3. 函數
- js的模塊化如何解決
- 不知道有什么用的
- 4.數組
- 5. String
- 補充
- 6.Ajax
- 1. 原生Ajax
- 2. HTTP/get/post
- 3.jQuery-Ajax
- 4.跨域
- 5.axios
- 6.封裝
- Ajax效果
- ajax補充
- 7. 正則
- 1.創建正則表達式
- 2. 正則的api
- 3.正則語法
- 4.例子
- 量詞
- 8.面向對象
- 1.原型
- ES6
- 模塊化
- 1.回調地獄
- 什么是回調地獄
- 簡單封裝
- promise解決回調地獄
- generator解決回調地獄
- async解決回調地獄
- 2.封裝
- Ajax,promise
- JavaScript難點
- 1. 閉包/作用域
- 2.原型鏈
- 3. 兼容性
- 適配
- JavaScript小效果
- 字符串截取