所有物件繼承了兩個轉換方法: tostring() 和 valueof()
一. 物件到字串的轉換
1. 如果物件有 tostring() , 呼叫, 如返回原始值, 則轉換成字串並返回;
2. 上述不成立, 呼叫valueof(),如返回原始值, 則轉換成字串並返回;
3. 如不能返回原始值 , 則丟擲型別錯誤異常。
二. 物件到數字的轉換
1. 如果有 valueof() , 呼叫並返回原始值, 則轉換為數字並返回;
2. 上述不成立, 呼叫tostring(), 如返回原始值 , 則轉換為數字並返回;
3. 如都不能返回原始值 , 則丟擲型別錯誤異常。
轉換成數字和轉換成字串所呼叫的兩個方法順序不一樣。
通過物件到數字的轉換可以解釋:
number();
// 0
number([1]);
// 1
number(
''
);
// 0
.valueof() //
.tostring(); // ''
number(''); // 0
原始值(基本資料型別): number, string, boolean, null, undefined;
引用值(復合資料型別):object, function, date, regexp;
JavaScript物件轉換為原始值的學習筆記
首先指明,本文中提到的轉換,只針對js中的內建物件 本地物件 內建物件是指js標準規範定義的類,比如array,function,object,date等。與內建物件對立的是宿主物件,就是js寄生的環境 瀏覽器,瀏覽器物件有window,dom,bom,event等 1.物件轉換為布林值 所有物件轉...
js中json物件轉換為array
今天遇到了乙個將json物件格式轉換為js陣列的問題,網上down了一下,發現只是對json進行了一些操作。在此寫了乙個小小的 以供有需要的人使用。開門見山,先宣告乙個json物件陣列,在此說一下,js中陣列使用 區分的,而物件是由 區分,當然,這些問題各位大神肯定是都很了解了 這是乙個典型的 js...
js原始值與物件的相等比較
lang en charset utf 8 name viewport content width device width,initial scale 1.0 原始值與物件的相等比較title head let a let b 0 1 console.log a 0 true 2 console....