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

首頁 > 語言 > JavaScript > 正文

JavaScript中運算符規則和隱式類型轉換示例詳解

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

前言

本文主要給大家介紹了關于JavaScript運算符規則和隱式類型轉換的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

隱式類型轉換

在 JavaScript 中,當我們進行比較操作或者加減乘除四則運算操作時,常常會觸發 JavaScript 的隱式類型轉換機制;而這部分也往往是令人迷惑的地方。譬如瀏覽器中的 console.log 操作常常會將任何值都轉化為字符串然后展示,而數學運算則會首先將值轉化為數值類型(除了 Date 類型對象)然后進行操作。

我們首先來看幾組典型的 JavaScript 中運算符操作結果,希望閱讀完本部分之后能夠對每一個條目都能進行合理解釋:

// 比較[] == ![] // trueNaN !== NaN // true1 == true // true2 == true // false"2" == true // flasenull > 0 // falsenull < 0 // falsenull == 0 // falsenull >= 0 // true// 加法true + 1 // 1undefined + 1 // NaNlet obj = {};{} + 1 // 1,這里的 {} 被當成了代碼塊{ 1 + 1 } + 1 // 1obj + 1 // [object Object]1{} + {} // Chrome 上顯示 "[object Object][object Object]",Firefox 顯示 NaN[] + {} // [object Object][] + a // [object Object]+ [] // 等價于 + "" => 0{} + [] // 0a + [] // [object Object][2,3] + [1,2] // '2,31,2'[2] + 1 // '21'[2] + (-1) // "2-1"http:// 減法或其他操作,無法進行字符串連接,因此在錯誤的字符串格式下返回 NaN[2] - 1 // 1[2,3] - 1 // NaN{} - 1 // -1

原始類型間轉換

JavaScript 中我們常說的原始類型包括了數值類型、字符串類型、布爾類型與空類型這幾種;而我們常用的原始類型之間的轉換函數就是 String、Number 與 Boolean:

// Stringlet value = true;console.log(typeof value); // booleanvalue = String(value); // now value is a string "true"console.log(typeof value); // string// Numberlet str = "123";console.log(typeof str); // stringlet num = Number(str); // becomes a number 123console.log(typeof num); // numberlet age = Number("an arbitrary string instead of a number");console.log(age); // NaN, conversion failed// Booleanconsole.log( Boolean(1) ); // trueconsole.log( Boolean(0) ); // falseconsole.log( Boolean("hello") ); // trueconsole.log( Boolean("") ); // false

最終,我們可以得到如下的 JavaScript 原始類型轉換表(包括復合類型向原始類型轉換的范例):

  • 原始值 轉化為數值類型 轉化為字符串類型 轉化為 Boolean 類型
    false 0 "false" false
    true 1 "true" true
    0 0 "0" false
    1
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 德令哈市| 晴隆县| 三门县| 交口县| 长丰县| 周宁县| 同仁县| 根河市| 林州市| 肇源县| 鄱阳县| 当阳市| 昆明市| 嵩明县| 长垣县| 黑龙江省| 团风县| 安远县| 广灵县| 晋州市| 绥江县| 兴和县| 信丰县| 卢龙县| 永修县| 陆河县| 故城县| 龙州县| 秀山| 黔江区| 通榆县| 施秉县| 宁德市| 古浪县| 扎赉特旗| 天津市| 顺义区| 丰都县| 呼伦贝尔市| 海阳市| 乐业县|
    <td id="ogszw"></td>
    <td id="ogszw"><tr id="ogszw"></tr></td>