JS基礎-數據類型

来源:https://www.cnblogs.com/haloujava/archive/2023/09/06/17681421.html
-Advertisement-
Play Games

在vue3中,可以使用vue3的API `defineExpose()`函數結合`ref`或者`$parent`,實現父子組件數據的傳遞。 # 子組件向父組件傳遞數據`defineExpose()`和`ref` - 子組件:通過`defineExpose()` 函數,向外暴露響應式數據或者方法 `` ...


JS 作為弱類型的編程語言, 在聲明變數時,統一使用 varconst、或者let關鍵字。但是每個變數都有一個隱式的數據類型。

數據類型檢測

使用 typeof 關鍵字可以檢測數據類型。

<script>
			// 檢測數字類型
      console.log(typeof(3));
</script>

Number 數字類型

  • 整形、浮點型在內的所有數字,都是數字類型。
typeof 5
typeof 15.1
  • 浮點數如果整數部分是0,可以省略。
.3
typeof .3
  • 數字可以使用科學計數法表示。
2e4 // 20000
typeof 2e4;

2e-4; //0.0002
typeof 2e-4

NaN

NaN 代表運算結果不是一個數字。

  • 特殊的數值型類型, 表示不是一個數字,但是此值的類型卻是一個數值類型。

// 輸出Number
typeof NaN
  • 在數學運算中,若數字類型的運算不能得到數字,其結果往往都是NaN。
// 輸出 NaN
1/Boolean
  • NaN 不自等 ,即NaN不等於NaN。

// 輸出 false
NaN == NaN 

字元串類型

由引號包裹的(可以是單引號也可是雙引號)若幹個字元組成的集合就是字元串。字元串通常表示一段文字。

特性

    • 加號可以拼接多個字元串。

      <script>
        var a = 'hello';
        var b = ' workd';
        console.log(a + b);
      </script>
      
  • 模板字元串,用反引號表示。可以嵌入變數,在運行時會被解析替換。
var a = 'halou';
// 輸出 heihe halou world
console.log(`heihe ${a} world`)
  • 空字元串, 引號當中沒有任何值。
console.log('');
  • 字元串屬性 length ,表示字元串的長度。
var a = 'woshi';
console.log(a.length);

常用方法

  • charAt()

    獲取指定位置字元,傳入字元串索引位置,找到對應字元;傳入超過字元串長度的索引返回空字元串。

<script>
var a = 'hello';
console.log(a.charAt(1));
</script>
  • substring(indexA, indexB)

    提取子串, 如果 indexA > indexB , 則取子串 [indexA, indexB);

    如果參數 indexB > indexA ,則取子串 [indedB, indexA) ;

    如果省略第二個參數,表示截取到字元串結尾。

<script>
    var str = 'halouworld';

    // 輸出 al
    console.log(str.substring(1, 3));
    // 輸出 al
    console.log(str.substring(3, 1));

    // 從下標位置3開始截取到結尾
    console.log(str.substring(3));

</script>
  • substr(index, length)

    提取子串, 從第一個參數index索引位置開始, 長度為 length 的子串;

    length 參數可以省略, 表示到字元串結尾;

    index 可以為負數 ,表示倒數位置(字元串右邊第一個值的下標為 -1 ,依次為 -1 , -2 ….)。

Untitled.png

```
<script>
  var str = 'wearehuman';
  // 輸出weare
  console.log(str.substr(0, 5));
  // 輸出 wearehuman
  console.log(str.substr(0));

  // 輸出 hum , index 雖然可以為負數, 但是還是字元串的左邊向右崛起
  console.log(str.substr(-5, 3));
</script>
```
  • slice(indexA, indexB)

    提取子串(切片), [indexA, indexB) ;

    indexB 可以省略, 表示到字元串結尾;

    indexA 參數也可以為負數, 類似 substr 函數;

    參數indexA 必須小於 indexB。

    <script>
      var str = 'wearehuman';
      // ea
      console.log(str.slice(1, 3));
      // earehuman
      console.log(str.slice(1));
      // a
      console.log(str.slice(-2, -1));
    
      // 當 indexA 小於 indexB 時, 輸出空字元
      console.log(str.slice(2, 1));
    
    </script>
    
  • toUppderCase

    將字元串變為大寫。

    <script>
      var str = 'wearehuman';
      // 輸出 WEAREHMMAN
      console.log(str.toLocaleUpperCase());
    </script>
    
  • toLowerCase

    將字元轉成小寫字母。

    <script>
        var str = 'weareHMman';
    		// 輸出 wearehuman
        console.log(str.toLowerCase());
    </script>
    

常用函數總結

方法 功能
charAt() 獲取指定位置字元,傳入字元串索引位置,找到字元;傳入超過字元串長度的索引返回空字元串。
substring(indexA,indexB) 提取子串, 如果 indexA > indexB , 則取子串 [indexA, indexB);如果參數 indexB > indexA ,則取子串 [indedB, indexA) ;如果省略第二個參數,表示截取到字元串結尾。
substr(a,b) 提取子串, 從第一個參數index索引位置開始, 長度為 length 子串;length 參數可以省略, 表示到字元串結尾;index 可以為負數 ,表示倒數位置(字元串右邊第一個值的下標為 -1 ,依次為 -1 , -2 ….)。
slice(a, b) 提取子串(切片), [indexA, indexB) ;indexB 可以省略, 表示到字元串結尾;indexA 參數也可以為負數, 類似 substr 函數;參數indexA 必須小於 indexB
toUppderCase() 將字元串變為大寫
toLowerCase() 將字元串變為小寫
indexOf() 檢索字元串首次出現的位置,如果檢索不到, 返回-1

布爾類型

布爾值只有兩個 ,true(真)和false(假)

<script>
  var bool = (10 > 20);
  // 輸出 true
  console.log(bool);
  // 輸出 boolean
  console.log(typeof bool);
</script>

undefined

主打一個未定義, 一個沒有經過初始化的變數,預設值是 undefined 。預設值 undefined  指向的數據類型 也叫 undefined  。

<script>
    var undi ;
    // 輸出 undefined
    console.log(undi);
    // 輸出 undefined
    console.log(typeof undi);

</script>

null

表示被置空的對象, 如果一個對象在經過運算後, 沒有得到任何值, 那麼就可以賦值為null。

不過 null 用 typeof 檢測 得到 的卻是 object 類型 。null 既是一種數據類型,但它的類型卻是object 不知道在搞啥子

<script>
      var emp = null ;
      // 輸出 null
      console.log(emp);
      // 輸出 類型object
      console.log(typeof emp);

  </script>

總結

在js中還有很多複雜的類型, 例如 function, object , 這些預計會留到後面寫。

以下是本文中涉及的數據類型。

數據類型 備註 typeof 檢測 舉例
number 數字 number var a = 1
string 字元串 string var b = ‘aaa’
boolean 布爾 boolean var a = true
undefined 未定義 undefined var bool = undefined
null 被置空的對象 null var emp = null
請關於一下啦^_^

微信公眾號


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # 調研背景: 資料庫連接建立是比較昂貴的操作(至少對於 OLTP),不僅要建立 TCP 連接外還需要進行連接鑒權操作,所以客戶端通常會把資料庫連接保存到連接池中進行復用。連接池維護到彈性資料庫(JED)的長連接,彈性資料庫預設不會主動關閉客戶端連接(除非報錯),但一般客戶端到彈性資料庫之間還會有負 ...
  • ![file](https://img2023.cnblogs.com/other/2685289/202309/2685289-20230906144112614-1233246750.png) ## 導讀 蜀海供應鏈是集銷售、研發、採購、生產、品保、倉儲、運輸、信息、金融為一體的餐飲供應鏈服務企 ...
  • ![file](https://img2023.cnblogs.com/other/2685289/202309/2685289-20230906105454530-376816477.jpg) > 導讀:國內某頭部理財服務提供商成立於 2019 年,是股份制銀行中首批獲准籌建、首家獲准開業、首家成 ...
  • 當談到[數據湖](https://www.dtstack.com/dtengine/easylake?src=szsm)的時候,大家都在說,可以把所有數據(結構化/半結構化/非結構化)一股腦都丟進去,進行統一的元數據管理。然後上層計算對接,進行[流批計算](https://www.dtstack.c ...
  • 浙江省工業和信息化廳開展了2023第二季度創新型中小企業評價工作,玖章算術以優秀的自主創新能力通過認定,成為浙江省2023年度創新型中小企業。玖章算術聚焦於雲計算與數據管理基礎技術領域,擁有豐富的研發經驗和專業技術團隊。NineData是新一代的雲原生智能數據管理平臺,包含了數據複製、SQL開發、數... ...
  • `` 數組的includes方法在日常的編程中比較常用到,其作用就是判斷某一數據是否在數組中,通常來說,數組中的數據如果是數字,布爾值,或者字元串的話,都是能夠進行判斷的 例如: ``` [1,2,3,4].includes(3) // true [1,2,3,4].includes(5) // f ...
  • 好家伙, 1.<template>去哪了 在正式內容之前,我們來思考一個問題, 當我們使用vue開發頁面時,<tamplete>中的內容是如何變成我們網頁中的內容的? 它會經歷四步: 解析模板:Vue會解析<template>中的內容,識別出其中的指令、插值表達式({{}}),以及其他元素和屬性。 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 一.@click和@click.native的區別 vue @click.native 原生點擊事件: 1,給vue組件綁定事件時候,必須加上native ,不然不會生效(監聽根元素的原生事件,使用 .native 修飾符) 2,等同於在 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...