国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript顯式數據類型轉換詳解

2024-05-06 15:41:39
字體:
來源:轉載
供稿:網友

基本概念

將值從一種類型轉換為另一種類型稱為類型轉換,類型轉換總是返回基本類型值,如字符串、數字和布爾值,不會返回引用類型值。
類型轉換分為“顯式”和“隱式”:“顯式”轉換發生在靜態類型語言的編譯階段,而“隱式”轉換則發生在動態類型語言的運行時。

顯式類型轉換

非字符串到字符串的類型轉換

toString() 方法
數字、布爾值、字符串和對象都有 toString() 方法,但 null 和 undefined 沒有。
例子:

var name = "Tom",  age = 19,  isStudent = true;console.log(name.toString()); //輸出:"Tom"console.log(age.toString()); //輸出:"19"console.log(isStudent.toString()); //輸出:"true"var obj = {    name: "Tom"  },  arr = [19, 20];console.log(obj.toString()); //輸出:"[object Object]"console.log(arr.toString()); //輸出:"19,20"

*基本類型值不能直接使用 toString() 方法,所以 JavaScript 引擎會自動為基本類型值創建一個封裝對象,然后對該對象調用 toString()。

String() 方法

這個方法能夠將任何類型的值轉換為字符串,基本的轉換規則是:

1、如果值有toString()方法,則調用該方法進行轉換;
2、如果值是null,則返回“null”;
3、如果值是undefined,則返回“undefined”。

例子:

console.log(String(11)); //輸出:"11"console.log(String(true)); //輸出:"true"console.log(String("love")); //輸出:"love"console.log(String(null)); //輸出:"null"console.log(String(undefined)); //輸出:"undefined"console.log(String({  name: "Tom"})); //輸出:"[object Object]"console.log(String([1, 2])); //輸出:"1,2"

非數字到數字的類型轉換

Number() 方法

這個方法可以用于任何數據類型,基本的轉換規則是:
1、如果是Boolean值,true和false將分別被轉換為1和0;
2、如果是數字值,只是簡單的傳入和返回;
3、如果是null值,返回0;
4、如果是undefined值,返回NaN;
5、如果是字符串,遵循下列規則:

    如果字符串中只包含數字,將其轉換為十進制。即“123”轉換為123,“011”轉換為11(忽略前導0); 如果字符串中包含有效的浮點格式,如“1.1”將其轉換為對應的浮點數值(同樣忽略前導0); 如果字符串是空的,不包含任何字符,則將其轉換為0; 如果字符串中包含除上述以外的字符,則將其轉換為NaN。

 6、如果是對象,會首先檢查該值是否有 valueOf() 方法。如果有,并且可以成功返回基本類型值,那么就使用該方法的返回值進行強制類型轉換;如果沒有就使用 toString() 的返回值來進行強制類型轉換。如果 valueOf() 和 toString() 均不返回基本類型值,會產生 TypeError 錯誤。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 杭锦旗| 资中县| 鹤庆县| 大埔县| 扎赉特旗| 丹寨县| 福海县| 六安市| 平和县| 织金县| 内丘县| 东平县| 万盛区| 恩平市| 韶山市| 鲁山县| 山东| 当雄县| 济南市| 东宁县| 潼关县| 建始县| 西盟| 淄博市| 奉节县| 和平县| 大城县| 永和县| 桑日县| 塘沽区| 廉江市| 新余市| 洪湖市| 台江县| 虹口区| 宝坻区| 唐山市| 儋州市| 元江| 吴忠市| 五峰|