js資料型別
ecmascript中有5種簡單的資料型別:undefined,null,boolean,number,string.還有一種複雜的資料型別--object(本質上是由一組無序的名值對組成的).
typeof操作符--用於檢測給定變數的資料型別
"undefined"—未定義
"boolean"—布林值
"string"—字串
"number"—數值
"object"—物件或者null
"function"—函式
1.undefined型別
undefined型別只有乙個值,即為特殊的undefined。
1.1 在使用var宣告變數但並未對其加以初始化時,這個變數就是undefined,例如:
var message;
alert(message == undefined); //返回值為true
該例子為宣告了message變數,但是沒有對其初始化,因此返回的值為undefined。
1.2 未宣告變數。例如:
// var age ;
alert(age) // 產生錯誤
1.3 通關typeof返回資料型別時,未定義變數或變數沒初始化都將返回undefined 。例如:
var message;
// var age;
alert(typeof message);//undefined
alert(typeof age);//undefined
雖然上述兩種情況都為undefined,但其本質上來說是不一樣的。
2.null型別
null型別是第二個只有乙個值的資料型別,這個特殊的值為null。從邏輯角度來看,null值表示乙個空物件指標,而這也正是typeof操作符檢測到null值返回object的原因。例如:
var car = null;
alert(typeof car);//object
因此,若定義乙個空的變數用於將來儲存物件,初始化時最好使用null。
3.boolean型別
boolean型別在ecmascript中用得比較多的一種型別,它只有兩個值:true or false 。
但是這兩個數值不是一回事,其他語言可能為1真0假,但是這裡不是這樣的。下面是為變數賦boolean值的例子:
var found = true ;
var lost = false;
注意:true 和 false 區分大小寫。
ecmascript中可以用boolean()函式轉化相應的值為boolean值。例如:
var message = "hello world";
var messageboolean = boolean(message) //這裡為true,下面會講解具體型別的值轉化為對應boolean值的情況。
boolean()
資料型別
為true的情況
為flase的情況
boolean
true
false
string
任何非空字串
""(空的字串)
number
任何非零數字值(包括無窮大)
0或者nan
object
任何物件
null
undefined
不適用undefined
4.number型別
4.1 整數: var intnun = 44;//整數
八進位制: var octalnum1 = 070;//八進位制的56
var octalnum2 = 079;//無效的八進位制的數值-解析為79
十六進製制: var hexnum1 = 0xa; //十六進製制的10
var hexnum2 = 0x1f ; //十六進製制31
4.2 浮點數值: var floatnum1 = 1.1;
var floatnum2 = 2.3534e7 ; //e7代表10的7次冪,即為23534000
4.3 nan:特殊的數值,它本身也不等於他本身
alert(nan==nan);//false
4.4數值的轉化
number();//可用於任何資料
parseint();//轉化為整型
parsefloat();//轉化為浮點型
5.string型別
用於表示由零個或多個16位unicode字串組成的字串行,即為字串。通常用單引號('')或雙引號("")表示,例如:
var firstname = "li";
var lastname = 'hua';
字元字面量
常用字元字面量
\n換行
\t製表
\r回車
\f進紙
\\斜槓
\'單引號
\"雙引號
\b退格
6.object型別
ecmascript中的物件其實就是一組資料和功能的集合。
var o = new object(); //建立乙個新的物件
object的每個例項都具有以下的屬性和方法:
1.constructor:儲存著用於建立當前物件的函式。
2.hasownproperty(propertyname):用於檢測給定的屬性在當前物件例項中是否存在。其中引數名必須以字串形式指定,例如:
o.hasownproperty("name");
3.isprototypeof(object):用於檢查傳入物件是否是當前物件的原型。
4.propertyisrnumerable(propertyname):用於檢查給定的屬性是否能夠使用 for-in 語句,與hasownproperty用法一樣,引數名必須以字串形式指定。
5.tolocalestring():返回物件的字串表示。
6.valueof():返回物件的字串、數值或布林值表示。通常與tostring()方法返回值相同。
構造資料型別簡單介紹
結構體的出現,能夠將不同型別資料組成的組合型的資料結構,結構體型別的一半角式為 struct 結構體名 定義結構體的變數的三種方法 1.先宣告結構體型別,再定義該型別的變數。struct student 再在主函式中宣告 struct student stu1 stu1就是乙個結構體型別。2.在宣告...
Python學習 資料型別(簡單介紹)
a,b,c,d 66,6.6,false,6 6j print type a type b type c type d class int class float class bool class complex 3 isinstance 函式與type 函式有類似的功能 isinstance nu...
JS學習 簡單資料型別
最常見的進製有二進位制,八進位制,十進位制,十六進製制。js中八進位制前面加0,十六進製制前面加0x 這個方法用來判斷非數字,並且返回乙個值,如果是數字返回的是false,如果不是數字返回的是true 例如 console.log isnan 12 輸出結果為false 字串型可以是引號中的任意文字...