js中的值,無論是字面量還是變數,都有明確的型別。
1.基本型別5種
number 數字型別
string 字串型別
boolean 布林型別,僅有兩個值true和false
undefined undefined型別,此型別值只有乙個,就是undefined
null null型別,這種型別的值也就只有乙個null
2.引用型別使用typeof關鍵字檢查資料型別,通常用來檢測變數的型別,因為直接量的型別一眼就看的出來
var a = 123;
console.log(typeof a); //number
1.number數字型別//下面定義的變數都是number型別
number型別的東西,所有的數字(不分正負、整浮、大小、進製、infinity、nan)
2.string字串型別
var str1 = "小蔡啊";
var str2 = "666";
var str3 = ""; //空字串也是字串
console.log(typeof str1);
console.log(typeof str2);
console.log(typeof str3);
3.boolean型別
boolean型別(布林型別),布林型別只有兩個值true false,即真或假。
var bool = true;
console.log(bool );
console.log(typeof bool); //boolean
注意:此時true和false沒有加引導,所以不是字串,同時注意它也是變數,true是乙個關鍵字,本身就有特殊意義,表示真和假。
4.undefined型別
前面提到過,如果只var了乙個變數,沒有賦初值,它的預設值是undefined。
這個undefined是自成一家,型別和值都是undefined,這種型別的值也只有乙個。
var un; //這裡只定義了,沒有賦初值
console.log(un);
console.log(typeof un); //undefined
變數是什麼型別,和賦值有關,而和定義的時候是沒有關係的。定義的時候都是使用var關鍵字定義。
//動態資料型別
var num = 123; //number
console.log(typeof num);
num = "哈哈"; //改為string是合法的
console.log(typeof num);
我們說js這個語言叫做動態資料型別,就是賦值的時候就決定這個變數的型別了。甚至可以改變這個變數的值,為其他型別的值。變數的型別是自動檢測,就是檢查變數儲存的值的型別,不是認為定義的。
加號兩邊都是數字的時候,那麼就是數學加法;
兩邊只要有一邊是字串,那麼結果就是字串拼接。
console.log("小" + "蔡"); //小蔡
console.log(3 + 2); //5
console.log(3 + "2"); //32
多個加號,運算順序是從左至右
運算從左到右計算,預設是數字加分,但是一旦遇到字串就變成字串拼接了
js中有一些方法可以將記憶體中表示其他資料型別轉換為對應的數字型別。
因此,先認識乙個語句prompt(),這個語句和alert差不多,也是彈窗,彈的是輸入框
prompt("請輸入你的**","191");
這些小功能,就叫做程式給我們提供的api,每個api都有自己不同的語法。
prompt("提示文字","預設值");
預設值是可以省略的。
可以把使用者輸入的值,存入變數:
var a = prompt("請輸入你的**","191");
alert("你輸入的**是" + a);
用prompt接收的任何東西都是字串,哪怕使用者輸入了乙個數字,也是字串的數字。
1.number方法
(1) string "12px"=>nan ""=>0
(2) boolean true=>1 false=>0
(3) null null=>0
(4) undefined undefined =>nan
(5) {} {} => nan
(6) [1]=>1, =>0, [1,2]=>nan
(7) function number(function(){})=>nan
例子:
// 計算器
// 第一步讓使用者先輸入第乙個數字
var a = prompt("請輸入第乙個數字");
// 第二步讓使用者輸入第二個數字
var b = prompt("請輸入第二個數字");
// 第三步求和
var sum = number(a) + number(b);
// 第四步彈出結果
alert(sum);
2.parselnt方法
parseint就是將乙個string轉為乙個整數,不四捨五入,直接擷取整數部分。如果這個string有亂七八糟的東西,直接擷取前面數字部分。
所以使用這個方法可能會丟失小數部分
var a = "678";
var b = parseint(a); //parseint就把字串678轉換為數字678
console.log(b); //678
console.log(typeof b); //unmber
parseint("200"); //200
parseint("200.666"); //200
parseint("200小時"); //200
parseint("200年零2個月"); //200
parseint("200px"); //200
parseint("-200.9999"); //-200
parseint()不僅能夠轉為整數,還可以進行進製的轉換,把任何進製的數字,都換為10進製。
進製轉換的字串,用逗號隔開。
下面的運算結果都是15:
parseint(15,10);
parseint(17,8);
parseint(1111,2);
parseint("0xf",16);
parseint("f",16);
parseint(16,9);
parseint("15e6",10);
parseint("15*6",10);
3.parsefloat方法
parsefloat就是將字串轉換為浮點數
盡可能的將乙個字串轉為浮點數,浮點數之後如果有亂七八糟的內容,直接捨棄。
var a = "123.456.12";
var b = parsefloat(a);
console.log(b);
console.log(parsefloat("123.66年"));
console.log(parsefloat("你說123.66年")); //nan
也就是說,數字型別都是number,不分整數和浮點數,但是轉換的時候分。
4.isnan()方法
作用:判斷乙個數字是不是nan
如果是,則結果是ture;如果不是,則結果是false
isnan()方法的作用是判斷數字是不是nan,那它能判斷其他資料型別嗎?
isnan(true) ==> false
isnan('12.5px') ==> true
isnan(null) ==> false
isnan(undefined) ==> true
結論:isnan()這個方法會先把其他型別資料轉化成數字型別,之後判斷是不是nan
將乙個數字,與乙個空字串進行連字元運算,那麼就是自動轉為字串了。
var a = 123;
var b = a + "";
console.log(b);
console.log(typeof b); //string
boolean()方法
只有六種情況boolean(被轉換的資料)的結果是false,其餘全是true。
1.0 數字0
2.nan 數字nan
3."" 空字串
4.false 布林值false
5.undefined undefined型別
6.null null型別
用的不多了解幾個。。。
02 JS基礎篇 資料型別及操作標籤樣式
一 js的資料型別 數字 number 拓展 在進行 運算時左右兩邊任意一邊有字串,那麼它的功能是拼接。拼接後資料型別是 字串 字串 string 布林值 boolean true false 物件 object eg var x 物件object var x new object var x do...
JS資料型別及資料轉換
3.布林值 boolean 4.物件object 不是基本資料型別 5.null 6.未定義 undefined 7.symbol 二 資料型別的轉換 2.parseint 解析為整型 3 parsefloat 解析為浮點型 三 資料型別中的隱式轉換 ecmascript 是資料型別的乙個標準及核心...
js中的資料型別和資料型別轉換
原始型別 string number boolean null undefined symbol 物件 object 顯示型別轉換是通過呼叫下面這三個函式來進行的。1.number 數值 轉換之後還是數值 字串 如果可以被解析為數值,則轉為數值,否則轉為nan,空字串轉為0 布林值 true轉成1,...