js 11 JS資料型別的轉換

2021-09-29 08:37:38 字數 1677 閱讀 9717

上圖總結:

1.以數字表示的字串可以直接轉換為數字,允許在開始和結尾處帶空格(開頭和結尾處的非空格不會被當成數字直接量的一部分,導致結果為nan)

2.原始值通過呼叫string([val])、number([val])、boolean([val])建構函式轉換為各自的包裝物件

3.null和undefined屬於例外,當你期望他們是物件時,會造成乙個型別錯誤(typeerror)

轉換和相等性

因為js較為靈活,所以 『==』 相等運算子也隨相等的含義靈活多變

如:

null == undefined;

"0" == 0; // 在比較之前,「0」會轉變為0

0 == false // false會轉變為0,再比較

「0」 == false // false轉變為0,「0」轉變為0

注意:乙個值轉換為另乙個值時,並不會意味著這兩個值相等,比如indefined會轉換為false,false並不等於undefined.

顯式型別轉換
js中會自動的做某些轉換,但有時卻需要自己手動。

常見的方法有:

number("3")                 // => 3

string(false) // => "false"

boolean() // => true

object(3) // => new number(3)

另:某些運算子也會做隱示型別轉換

』x + 「」『 可以等價於string(x);

『+ x』 可以等價於number(x),也可以寫成 x - 0;

『!!x』 可以等價於boolean(x),注意兩個嘆號;

js中提供了一些方法,可以使得number to string/string to number更簡單

物件轉換為值

物件到布林值的轉換很簡單:所有物件都轉換為true,包裝物件也是這樣:new boolean(false) => true;

物件到字串和數字是通過呼叫待轉換物件的乙個方法來完成的。

*以下方法只適用於本地物件,而宿主物件(如web瀏覽器定義的物件)根據各自的演算法來轉換

var now = new date()                  // => 建立乙個日期物件

typeof(now + 1) // => "string"("+"將日期轉換為字串)

typeof(now - 1) // => "number"("-"使用物件到數字的轉換)

now == now.tostring() // => true(隱式的和限式的字串轉換)

now > (now - 1) // => true(">"將日期轉換為數字)

JS資料型別轉換

js var blue alert scolor.length outputs 4 js varfalse alert bfound.tostring outputs false js varvar outputs 10 js var outputs a js var var var var ret...

JS 資料型別轉換

js 資料型別轉換 方法主要有三種 轉換函式 強制型別轉換 利用js變數弱型別轉換。1.轉換函式 js提供了parseint 和parsefloat 兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行 對其他型別返回的都是nan not...

JS 資料型別轉換

js 資料型別轉換 方法主要有三種 轉換函式 強制型別轉換 利用js變數弱型別轉換。1.轉換函式 js提供了parseint 和parsefloat 兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行 對其他型別返回的都是nan not...