1. 程式人生 > >ECMAScript基本數據類型

ECMAScript基本數據類型

cau 使用 十六進制 傳遞 strong ren 操作 都是 賦值

ECMAScript有5種基本數據類型 Undefined、Null、Boolean、Number 和 String。

  1. 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基本數據類型