ECMAScript基本數據類型
阿新 • • 發佈:2017-05-05
cau 使用 十六進制 傳遞 strong ren 操作 都是 賦值
ECMAScript有5種基本數據類型 Undefined、Null、Boolean、Number 和 String。
- Undefined類型
- 未聲明、聲明但未初始化的變量typeof判定數據類型的時候都是 undefined
- 聲明但未初始化的變量可以對其進行undefined值類型可以執行的操作
- 未聲明的變量對其使用非賦值操作都會出錯
var JsTest=function(){ var str; console.log(str==undefined);//true
console.log(str);//undefined // str1=9+str; console.log(str1)//Uncaught ReferenceError: str1 is not defined // 數據類型判斷 console.log(typeof str);//undefined console.log(typeof str1);//undefined
};
2.Null類型
- null表示一個空的對象指針,用於初始化空對象變量
- null是object的一個派生,typeof返回object
var JsTest=function(){ var oj=null; console.log(typeof oj);//object console.log(typeof null);//object console.log(null==undefined);//true };
3.Boolean類型 (true、false)
var JsTest=function(){ //1、布爾類型只有兩個值 true和false //2、其它類型的值可以轉換成布爾值(轉換規則見下表) //轉換方式:判斷語句隱式轉換 var str="hello world!" if (str) { console.log("true");//輸出true,說明條件成立 } //通過Boolean函數顯示轉換 console.log(Boolean(str));//輸出true };
數據類型 | 轉換為true | 轉換為false |
Boolean | True | false |
String | 非空字符串 | 空字符串 “” |
Nbmber | 非零數字值 | 0和NaN |
Object | 任何非空對象 | null |
undefined | / | undefined |
4.Number類型
var JsTest=function(){ // 整數 var num1=10;//十進制 var num2=07;//八進制 var num3=0xf;//十六進制 // console.log(+0==-0);//true, +0和-0是相等的 // 浮點數(保存浮點數的內襯空間是保存整數的兩倍) var numFloat=1.2;//小數點後面必須有一個有效的整數,不然會被ECMAScript自動化整 // 數值範圍 //console.log(Number.MIN_VALUE);//5e-324 最小值 //console.log(Number.MAX_VALUE);//1.7976931348623157e+308 最大值 // 超出數值範圍 +Infinity(正無窮) -Infinity(負無窮) var a=Number.MAX_VALUE+1; var b=Number.MIN_VALUE+Number.MAX_VALUE; console.log(a+2);//輸出還是最大值,在增加也不會變化 console.log(b);//輸出:1.7976931348623157e+308 console.log(Number.MIN_VALUE-1);//輸出:-1,這裏有點搞不懂 // 數值超出有效範圍之後在進行計算是無意義的 // 判斷一個值是否超出數值表示範圍: console.log(isFinite(a));//true // NaN非數值 // 處理數值操作時出現的特殊情況 console.log(10/"d");//NaN console.log(NaN+10);//NaN 有NaN參與的計算都返回NaN console.log(NaN==NaN)//false 不能判等感覺有點方 console.log(isNaN(10/‘a‘));//true 判斷是否是NaN };
5.String 類型
var JsTest=function(){ // 定義方式 var str="JavaScript"; var str1=‘hello world!‘; console.log(str);//JavaScript console.log(str1);//hello world! //字符串拼接 console.log(str+","+str1+"!");//JavaScript,hello world!! //字符長度屬性 console.log(str.length);//10 ,字符中的空格也算,有字符字面量也算 var str2="hello你 好!\n"; console.log(str2.length);//10中文字符也按字數算長度 };
基本類型的特點
1.基本數據類型是按值訪問的,操作的實際是保存在變量中的值。
2.給基本類型設置屬性和方法是不允許的。
var name=‘jay‘;
name.len=3;
console.log(name.len);//undefined
3.一個基礎類型變量給另外一個變量賦值的時候,只是單純的值賦值,賦值之後兩個變量完全獨立互不影響。
var num1=10; var num2=num1; num2+=15; console.log(num1);//10 console.log(num2);//25
4.函數傳參的時候,基本類型也是按值傳遞的,只進行簡單的值復制。
檢查數據類型
對於基本數據類型使用typeof操作符可以檢測出來
var num1=10; var str="ssss"; var tag=true; var num; var car=null; var obj=new Object(); console.log(typeof num1); //number console.log(typeof str);//string console.log(typeof tag);//boolean console.log(typeof num);//undefined console.log(typeof car);//objec console.log(typeof obj);//object
ECMAScript基本數據類型