ArkTS語言基礎之函數

前言

臭寶們終于來到了ArkTS基礎之函數,今天我們來學習一下ArkTS的函數的相關知識,上一節中也有一些函數的基礎知識。

函數聲明

函數聲明引入一個函數,包含其名稱、參數列表、返回類型和函數體,在下面的例子中,我們聲明了一個名為add的函數,它有兩個number類型的參數和一個返回類型為number的結果。

function add(a: number, b: number): number {return a + b;
}

函數的作用域

函數中定義的變量和其他實例僅可以在函數內部訪問,不能從外部訪問。

如果函數中定義的變量與外部作用域中已有實例同名,則函數內的局部變量定義將覆蓋外部定義。

函數調用

函數調用時,需要傳入正確的參數。

add(1, 2); // 返回3

箭頭函數

箭頭函數是ES6中引入的,它提供了一種更簡潔的方式來編寫函數表達式。

const add = (a: number, b: number): number => {return a + b;
};

閉包

閉包是由函數及聲明該函數的環境組合而成的。該環境包含了這個閉包創建時作用域內的任何局部變量。

在下例中,f函數返回了一個閉包,它捕獲了count變量,每次調用z,count的值會被保留并遞增。

function f(): () => number {let count = 0;let g = (): number => { count++; return count; };return g;
}let z = f();
z(); // 返回:1
z(); // 返回:2

函數重載

ArkTS支持函數重載,即同一個函數可以有多個定義。注意,兩個函數的參數必須不同。

function add(a: number, b: number): number;
function add(a: string, b: string): string;
function add(a: any, b: any): any {if (typeof a === 'string' || typeof b === 'string') {return `${a}${b}`;} else {return a + b;}
}add(1, 2); // 返回3
add('hello', 'world'); // 返回"helloworld"

結尾

臭寶們,今天的內容就到這里了,快去試試吧!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/75982.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/75982.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/75982.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

redis中的hash

Redis中的hash是什么 Hash: 哈希,也叫散列,是一種通過哈希函數將鍵映射到表中位置的數據結構,哈希函數是關鍵,它把鍵轉換成索引。 Redis Hash(散列表)是一種 field-value pairs(鍵值對&#x…

彈簧質點系統(C++實現)

本文實現一個簡單的物理算法:彈簧質點系統(Mass-Spring System)。這是一個經典的物理模擬算法,常用于模擬彈性物體(如布料、彈簧等)的行為。我們將使用C來實現這個算法,并結合鏈表數據結構來管理…

領域大模型

領域技術標準文檔或領域相關數據是領域模型Continue PreTrain的關鍵。 現有大模型在預訓練過程中都會加入書籍、論文等數據,那么在領域預訓練時這兩種數據其實也是必不可少的,主要是因為這些數據的數據質量較高、領域強相關、知識覆蓋率(密度…

Wincc項目被鎖定無法打開

Wincc項目被鎖定無法打開 解決方法 解決方法 一般這種情況是因為項目打開的時候直接關機導致的。 刪除項目文件夾的ProjectOpened.lck的文件夾即可 然后即可正常打開項目

SpringBoot3筆記

簡介: springboot整合了springframework,整合了許多配置,讓我們能夠快速創建一個以springframework為基礎的項目。 問題: 到目前為止,你已經學習了多種配置Spring程序的方式。但是無論使用XML、注解、Java配置類還是…

DeepSeek和文心一言的區別

文章目錄 1.開發公司:2.應用場景:3.訓練數據:4.模型架構:5.技術特點:6.語言風格:7.開源性:8.界面與用戶體驗: 1.開發公司: DeepSeek 由杭州深度求索人工智能基礎技術研究…

Windows 10 安裝Mysql 8

安裝準備 下載 MySQL Windows ZIP版(無安裝程序): 進入官網:https://dev.mysql.com/downloads/mysql/ 選擇 Windows → 下載 ZIP Archive,例如: mysql-8.0.34-winx64.zip 如果你的電腦沒有安裝 VC Redi…

ARM分揀機vs傳統PLC:實測數據揭示的4倍效率差

在蘇州某新能源汽車零部件倉庫,凌晨3點的分揀線上依然燈火通明。8臺搭載ARM Cortex-A72處理器的智能分揀機正在以每秒3件的速度處理著形狀各異的電池包組件,它們通過MES系統接收訂單信息,自主規劃最優路徑,將不同規格的零部件精準…

使用python訪問mindie部署的vl多模態模型

說明 今天使用mindie1.0部署了qwen2_7b_vl模型,測試過程出現一些問題,這里總結下。 問題1:transformers版本太低 報錯信息: [ERROR] [model_deploy_config.cpp:159] Failed to get vocab size from tokenizer wrapper with ex…

vscode 跳轉失敗之c_cpp_properties.json解析

{"configurations": [{"name": "Linux", // 配置名稱,對應當前平臺,VS Code 中可選"includePath": ["${workspaceFolder}/**", // 包含當前工作區下所有文件夾的頭文件(遞歸&…

飛速(FS)解決方案驗證實驗室搬遷升級,賦能客戶技術服務

飛速(FS)解決方案驗證實驗室近日順利完成搬遷升級,標志著飛速(FS)在解決方案可行性驗證、質量保障以及定制化需求支持方面邁上新臺階,進一步提升了產品競爭力和客戶信任度。 全新升級的實驗室定位為技術驗證…

安裝kerberos認證的cdh環境

1、服務端安裝 1.1 安裝wget yum -y install wget 由于本地已安裝過wget,所以顯示Nothing to do 1.2 進入 home 目錄 cd /home 1.3 下載centos6.7.iso文件,并掛載 wget https://archive.kernel.org/centos-vault/6.7/isos/x86_64/CentOS-6.7-x86_64…

MySQL基礎 [六] - 內置函數+復合查詢+表的內連和外連

內置函數一般要用select調用 內置函數 日期函數 current_date函數 current_date函數用于獲取當前的日期。如下: current_time函數 current_time函數用于獲取當前的時間。如下: now函數 now函數用于獲取當前的日期時間。如下: date函數 dat…

CS內網滲透 - 如何通過冰蝎 Webshell 上線 Weblogic 服務器到 Cobalt Strike 并繞過殺軟檢測(360、火絨)?

目錄 1. 冰蝎連接上 Weblogic 服務器如何上線到 Cobalt Strike 2. 服務器安裝殺毒工具如何繞過殺軟上線到 Cobalt Strike 2.1 殺軟對 Webshell 命令執行的檢測及繞過 2.2 殺軟對 Cobalt Strike 上線木馬的檢測及繞過 2.3 殺軟對這兩方面的限制及綜合繞過 3. 如何生成免殺…

[ctfshow web入門] web10

前置知識 cookie Cookie是網站存儲在瀏覽器中的小數據片段,用于識別用戶、保持登錄狀態或記住偏好設置。 也就是說,我以會員A的身份登錄了網站,網站會發送一段cookie(會員卡)給我,上面寫著會員卡A,下一次我再訪問&am…

藍橋杯:日期統計

文章目錄 問題描述解法一遞歸解法二:暴力破解 問題描述 首先我們要了解什么是子序列,就是一個序列之中可以忽略元素但是不能改變順序之后獲得的序列就叫做子序列。 如"123"就是"11234"的子序列而不是"11324"的子序列 解法…

藍橋杯 C/C++ 組歷屆真題合集速刷(一)

一、1.單詞分析 - 藍橋云課 &#xff08;模擬、枚舉&#xff09;算法代碼&#xff1a; #include <bits/stdc.h> using namespace std;int main() {string s;cin>>s;unordered_map<char,int> mp;for(auto ch:s){mp[ch];}char result_charz;int max_count0;fo…

重塑知識的引擎:人工智能如何改變知識的生產與傳播

一、引言&#xff1a;知識的邊界正在被人工智能重構 千百年來&#xff0c;人類對于“知識”的獲取方式一直遵循著某種路徑依賴&#xff1a;感知現實 → 歸納總結 → 文字表達 → 教育傳承 → 學術沉淀。這一過程復雜而緩慢&#xff0c;需要經過代際的努力才能實現知識的積累與…

list的底層:

我們之前講解了list&#xff0c;今天我們來看一下list的底層&#xff1a; list底層是一個雙向帶頭循環的鏈表&#xff0c;之前我們學習數據結構的時候&#xff0c;我們就學過。 迭代器的封裝&#xff1a; 我們看這個圖片&#xff0c;我們的鏈表的指針可以達到鏈表的迭代器能力…

遵循IEC62304YY/T0664:確保醫療器械軟件生命周期合規性

一、EC 62304與YY/T 0664的核心定位與關系 IEC 62304&#xff08;IEC 62304&#xff09;是國際通用的醫療器械軟件生命周期管理標準&#xff0c;適用于所有包含軟件的醫療器械&#xff08;如嵌入式軟件、獨立軟件、移動應用等&#xff09;&#xff0c;其核心目標是確保軟件的安…