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 微服務框架,幫助我們輕鬆構建和管理微服務應用。 本框架不僅支持 Consul 服務註 ...
  • 先看一下效果吧: 如果不會寫動畫或者懶得寫動畫,就直接交給Blend來做吧; 其實Blend操作起來很簡單,有點類似於在操作PS,我們只需要設置關鍵幀,滑鼠點來點去就可以了,Blend會自動幫我們生成我們想要的動畫效果. 第一步:要創建一個空的WPF項目 第二步:右鍵我們的項目,在最下方有一個,在B ...
  • Prism:框架介紹與安裝 什麼是Prism? Prism是一個用於在 WPF、Xamarin Form、Uno 平臺和 WinUI 中構建鬆散耦合、可維護和可測試的 XAML 應用程式框架 Github https://github.com/PrismLibrary/Prism NuGet htt ...
  • 在WPF中,屏幕上的所有內容,都是通過畫筆(Brush)畫上去的。如按鈕的背景色,邊框,文本框的前景和形狀填充。藉助畫筆,可以繪製頁面上的所有UI對象。不同畫筆具有不同類型的輸出( 如:某些畫筆使用純色繪製區域,其他畫筆使用漸變、圖案、圖像或繪圖)。 ...
  • 前言 嗨,大家好!推薦一個基於 .NET 8 的高併發微服務電商系統,涵蓋了商品、訂單、會員、服務、財務等50多種實用功能。 項目不僅使用了 .NET 8 的最新特性,還集成了AutoFac、DotLiquid、HangFire、Nlog、Jwt、LayUIAdmin、SqlSugar、MySQL、 ...
  • 本文主要介紹攝像頭(相機)如何採集數據,用於類似攝像頭本地顯示軟體,以及流媒體數據傳輸場景如傳屏、視訊會議等。 攝像頭採集有多種方案,如AForge.NET、WPFMediaKit、OpenCvSharp、EmguCv、DirectShow.NET、MediaCaptre(UWP),網上一些文章以及 ...
  • 前言 Seal-Report 是一款.NET 開源報表工具,擁有 1.4K Star。它提供了一個完整的框架,使用 C# 編寫,最新的版本採用的是 .NET 8.0 。 它能夠高效地從各種資料庫或 NoSQL 數據源生成日常報表,並支持執行複雜的報表任務。 其簡單易用的安裝過程和直觀的設計界面,我們 ...
  • 背景需求: 系統需要對接到XXX官方的API,但因此官方對接以及管理都十分嚴格。而本人部門的系統中包含諸多子系統,系統間為了穩定,程式間多數固定Token+特殊驗證進行調用,且後期還要提供給其他兄弟部門系統共同調用。 原則上:每套系統都必須單獨接入到官方,但官方的接入複雜,還要官方指定機構認證的證書 ...
  • 本文介紹下電腦設備關機的情況下如何通過網路喚醒設備,之前電源S狀態 電腦Power電源狀態- 唐宋元明清2188 - 博客園 (cnblogs.com) 有介紹過遠程喚醒設備,後面這倆天瞭解多了點所以單獨加個隨筆 設備關機的情況下,使用網路喚醒的前提條件: 1. 被喚醒設備需要支持這WakeOnL ...
  • 前言 大家好,推薦一個.NET 8.0 為核心,結合前端 Vue 框架,實現了前後端完全分離的設計理念。它不僅提供了強大的基礎功能支持,如許可權管理、代碼生成器等,還通過採用主流技術和最佳實踐,顯著降低了開發難度,加快了項目交付速度。 如果你需要一個高效的開發解決方案,本框架能幫助大家輕鬆應對挑戰,實 ...