將其他的數(shù)據(jù)類型轉換為Number
轉換方式一:
使用Number()函數(shù)
- 字符串 --> 數(shù)字
1.如果是純數(shù)字的字符串,則直接將其轉換為數(shù)字
2.如果字符串中有非數(shù)字的內容,則轉換為NaN
3.如果字符串是一個空串或者是一個全是空格的字符串,則轉換為0
- 布爾 --> 數(shù)字
true 轉成 1
false 轉成 0
- null --> 數(shù)字 0
- undefined --> 數(shù)字 NaN
轉換方式二:
- 這種方式專門用來對付字符串
- parseInt() 把一個字符串轉換為一個整數(shù)
- parseFloat() 把一個字符串轉換為一個浮點數(shù)
var a = "123";
//調用Number()函數(shù)來將a轉換為Number類型
a = Number(a);
a = "789abc";
a = Number(a);
a = "";
a = Number(a);
a = "? ? ? ";
a = Number(a);
a = true;
a = Number(a);
a = false;
a = Number(a);
a = null;
a = Number(a);
a = undefined;
a = Number(a);
a = "123.567a456px";
//調用parseInt()函數(shù)將a轉換為Number
//parseInt()可以將一個字符串中的有效的整數(shù)內容去出來,然后轉換為Number
a = parseInt(a);
// parseFloat()作用和parseInt()類似,不同的是它可以獲得有效的小數(shù)
a = "123.456.789px";
a = parseFloat(a);
//如果對非String使用parseInt()或parseFloat(),它會先將其轉換為String然后在操作
a = true;
a = parseInt(a);
a = 198.23;
a = parseInt(a);
其他進制的數(shù)字
在js中,如果需要表示16進制的數(shù)字,則需要以0x開頭
如果需要表示8進制的數(shù)字,則需要以0開頭
如果要要表示2進制的數(shù)字,則需要以0b開頭,但是不是所有的瀏覽器都支持
//十六進制
a = 0x10;
a = 0xff;
a = 0xCafe;
//八進制數(shù)字
a = 070;
//二進制數(shù)字
//a = 0b10;
//像"070"這種字符串,有些瀏覽器會當成8進制解析,有些會當成10進制解析
a = "070";
// a = parseInt(a);
//可以在parseInt()中傳遞一個第二個參數(shù),來指定數(shù)字的進制
a = parseInt(a,10);
console.log(typeof a);
console.log(a);
轉換為Boolean/:
將其他的數(shù)據(jù)類型轉換為Boolean
使用Boolean()函數(shù)
- 數(shù)字 ---> 布爾
- 除了0和NaN,其余的都是true
- 字符串 ---> 布爾
- 除了空串,其余的都是true
- null和undefined都會轉換為false
- 對象也會轉換為true
運算符:
運算符也叫操作符
通過運算符可以對一個或多個值進行運算,并獲取運算結果
比如:typeof就是運算符,可以來獲得一個值的類型,它會將該值的類型以字符串的形式返回
"number" "string" "boolean" "undefined" "object"
算數(shù)運算符
當對非Number類型的值進行運算時,會將這些值轉換為Number然后在運算
任何值和NaN做運算都得NaN
+
+可以對兩個值進行加法運算,并將結果返回
如果對兩個字符串進行加法運算,則會做拼串,會將兩個字符串拼接為一個字符串,并返回
任何的值和字符串做加法運算,都會先轉換為字符串,然后再和字符串做拼串的操作
-
- 可以對兩個值進行減法運算,并將結果返回
*
* 可以對兩個值進行乘法運算
/
/ 可以對兩個值進行除法運算
%
% 取模運算(取余數(shù))
*/?
一元運算符:
一元運算符,只需要一個操作數(shù)
+ 正號
- 正號不會對數(shù)字產生任何影響
- 負號
- 負號可以對數(shù)字進行符號的取反
- 對于非Number類型的值,它會將先轉換為Number,然后再運算
- 可以對一個其他的數(shù)據(jù)類型使用+,來將其轉換為number,它的原理和Number()函數(shù)一樣
自增和自減:
自增 ++
- 通過自增可以使變量在自身的基礎上增加1
- 對于一個變量自增以后,原變量的值會立即自增1
- 自增分成兩種:后++(a++) 和 前++(++a)
無論是a++還是++a,都會立即使原變量的值自增1
不同的是a++和++a的值不同
a++的值等于原變量的值(自增前的值)
++a的值等于新值 (自增后的值)
自減 --
- 通過自減可以使變量在自身的基礎上減1
- 自減分成兩種:后--(a--) 和 前--(--a)
無論是a--還是--a都會立即使原變量的值自減1
不同的是a-- 和 --a的值不同
a-- 是變量的原值 (自減前的值)
--a 是變量的新值 (自減以后的//第一次c++,是在10的基礎上自增
c++;
//第二次c++,是在11的基礎上自增
//console.log(c++);
值