js中的數(shù)據(jù)類型

js中的數(shù)據(jù)類型分6種

1;string ? ? 字符串型;

2;Number;數(shù)字型;

? ? ? ? ? 在js中數(shù)據(jù)類型就包括整數(shù)型和小數(shù);

? ? ? ? ? 他在電腦有有最大值: Number.MAX_VALUE;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ??有最大值:Number.MIN_VALUE;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 無窮大值:Infinity;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 無窮小值:-Infinity;

? ? ? ? ? ? ? ? ?非法數(shù)字(not a number): NAN;

3;boolean;布爾型;

? ? ? ? ?在布爾運算中我們要注意的是;

? ? ? ? ? ? ? ? ? ? 任何非零數(shù)值都是true, 包括正負無窮大, 只有0和NaN是false

? ? ? ? ? ? ? ? ? ?任何非空字符串都是true, 只有空字符串是false

? ? ? ? ? ? ? ? ? ? 任何對象都是true, 只有null和undefined是false

4;null;空值;

? ? ? ? ? ?他表示一個空的對象;

5;Undefined;未定義的;

? ? ? ? ? ? 他其實就是null延伸出來的;

? ? ? ? 但是你要注意這個;如果

? ? ? var ?st=null;

? ? ? ?var ?st1=undefined;

? console.log(st==st1); 與console.log(st===str1)的區(qū)別;前者是true后這是false;

??

6;Object;對象(引用數(shù)據(jù)類型);



要測試我們所定義的數(shù)據(jù)類型是什么類型我們要用到typeof()方法;

var str="123"; 這里要注意的是;在定義字符串類型的時候;相同引號不能嵌套使用;但可以雙引號嵌套單引號;單引號可以 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 嵌套雙引號;

var str1=123;

var str2=null;

var str3=undefined;

var str4=true;

console.log(typeof str);//這個輸出顯示的是字符串

console.log(typeof str1);//這個顯示的是數(shù)據(jù)類型

console.log(typeof str2);//這顯示的object類型

console.log(typeof str3);//顯示的是undefined;

console.log(typeof str4);//這個顯示的是邏輯型;布爾型;

大家千萬要注意的是如果給變量名添加了引號;那么這個變量名就變成了常量了;值就是他這個變量名的本身;

console.log("str"); ?這個顯示的就是str;而字符串123;



屬性類型轉換

1; toString();轉換成字符串型

????????????但要主要的是null和undefined不能轉換成字符串型;要報錯誤的;

????????????這個轉換后;變量的原來的值不便;他只是把轉換的結果返回;

? ? ? ? ? ?toString(2),可以攜帶一個參數(shù),這個參數(shù)表示我們用幾進制輸出;二進制是八進制 十進制 或者十六進制輸出;

? ? ? ? ?var num=30;

????????????????????? ? var znum2=num.toString(2);//轉換成二進制字符串;

????????????????????????var znum8=num.toString(8);//八進制字符串;

????????????????????????var znum10=num.toString(10);//十進制字符串;

????????????????????????var znum16=num.toString(16);//十六進制字符串;

????????????????????????console.log(znum2);

????????????????????????console.log(znum8);

????????????????????????console.log(znum10);

????????????????????????console.log(znum16);

2;string;任何數(shù)都可以用string()函數(shù)來轉;包括null和undefined;

? ? ? ?重點注意的是toString 和String()的區(qū)別是;

? ? ? .toString()是一個方法而String(傳入?yún)?shù))是函數(shù);

? ? ? 方法的調用是用"."而函數(shù)是給他傳參數(shù);

3; 任何數(shù)字+""空字符都自動轉換成字符串;包括null和undefined;



將其它類型轉換為Number類型

他的轉換方式和String一樣是函數(shù);要把轉換的類型傳入到number()函數(shù)中;

他分幾種形式;

1;純數(shù)字字符串;直接轉換;

2;如果字符串中有非數(shù)字的內容,則轉換為NaN;

3;如果字符串是一個空串或者是一個全是空格的字符串,則轉換為0;

4;布爾轉數(shù)字;true=1;false=0;

5;null 轉數(shù)字 是0;

6;undefined轉屬性 NaN;

函數(shù)parseInt()/parseFloat()和Number()函數(shù)的區(qū)別;

?????????parseInt()/parseFloat()可以提取字符串中的有效整數(shù);而number()如果字符串中有非數(shù)字的內容,則轉換為NaN;

? ? ? ? 從第一位有效數(shù)字開始, 直到遇到無效數(shù)字;如果第一位不是有效數(shù)字, 什么都提取不到, 會返回NaN

? ? ? ?第一個參數(shù)是要轉換的字符串,第二個參數(shù)是要轉換的進制

? ? ? ? ? parseInt(要轉換的字符串,要轉換的多少進制);

? ? ? ? ?parseFloat(只能輸入轉換的字符串);只能是10進制;可以有小數(shù)點;


對非String使用parseInt()或parseFloat(), 會先將其轉換為String然后在操作



運算符

1;非Number類型的值進行運算時,會將這些值轉換為Number然后在運算

? ? ? ?????var ?result =true+1;

????????????console.log(result);// 2

????????????result =true+false;

????????????console.log(result);// 1

????????????result =2+null;

????????????console.log(result);// 2

2;任何值和NaN做運算都得NaN

3;任何的值和字符串做加法運算,都會先轉換為字符串,然后再和字符串做拼串的操作











parseInt()提取字符串中的整數(shù)

parseInt()提取字符串中的整數(shù)parseInt()提取字符串中的整數(shù)parseInt()提取字符串中的整數(shù)parseInt()提取字符串中的整數(shù)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容