學習:JS[3]數組的增刪改查+函數+作用域

一.操作數組

1.改

2.增

  • arr.push(新增的內容):將一個或多個元素添加到數組的結尾
  • arr.unshift(新增的內容):方法將一個或多個元素添加到數組的開頭,并返回該數組的長度

3.刪除

  • arr.pop():方法從數組中刪除最后一個元素,不帶參數,并返回元素的值
  • arr.shift():方法從數組中刪除第一個元素,并返回元素的值
  • arr.splice(start,deleteCount):start--起始位置,deleteCount--刪除元素的個數(不寫的話默認全部刪除)

?二.函數

1.函數的使用

先聲明后調用

a.聲明語法

function 函數名(){函數體
}

b.命名規范

  • 和變量名基本一致
  • 盡量小駝峰
  • 前綴應該為動詞
  • 常用的動詞約定
動詞含義
can

判斷是否可執行某個動作

has判斷是否含義某個值
is

判斷是否為某個值

get獲取某個值
set設置某個值
load加載某些數據

c.調用語法

函數不調用自己不執行

函數名()

d.函數傳參

(1)聲明語法

function 函數名(參數列表){函數體
}
//如
function getSum(num1,num2){document.write(num1+num2)
}
  • 形參:聲明函數寫在函數右括號里的
  • 實參:調用函數時寫在函數名的右括號里的
  • 形參理解為在函數中聲明的變量,實參理解為給這個變量賦值
  • 開發中保持形參和實參的個數一致

(2)函數返回值

//當函數需要返回數據出去時,用return關鍵字
return 數據
  • ?有些函數有返回值,有些沒有返回值
  • return后面的數據不能換行寫
  • 沒有值,默認返回的是undefined
  • 返回多個數據時可以使用數組的形式返回

(3)函數注意點

  • 函數名相同時,就近原則,后面的函數會覆蓋前面的函數?
  • 在JS中形參和實參的個數可以不一致(形參過多--自動填上undefined;實參過多--多余的實參被忽略,函數內部有一個arguments,里面裝著所有的實參)
  • 一旦碰到return就不會執行了,所以結束用return

2.匿名函數?

函數可以分為:具名函數+匿名函數

a.沒有名字的函數,無法直接使用

b.使用方式

(1)函數表達式

let fn=function(){
//函數體
}
fn()//調用函數
  • 具名函數可以在函數聲明調用 (調用可以寫到任意位置)
  • 函數表達式要先聲明

(2)立即執行函數

//方式1--將匿名函數整個直接使用小括號包起來,然后直接小括號調用
(function (){console.log(11)})();//方式2--調用之后再用一個小括號全部括起來
(function(){console.log(11)}());//不需要調用立即執行
  • ?避免全局變量之間的污染
  • 不需要額外調用
  • 多個立即執行函數之間要用分號隔開?

三.作用域?

1.所用到的名字是有可用性的代碼范圍.簡稱作用域

2.組成

a.全局作用域:,整個script標簽包含的是全局作用域

b.局部作用域:函數作用域,跳出函數后不能使用

c.全局變量:函數外的let的變量

d.局部變量:函數內的let的變量

3.變量的特殊情況

  • 函數沒有聲明,直接賦值,就當做全局變量(強烈不允許)
  • 函數內部的形參可以看作函數的局部變量

4.變量的訪問原則

  • 只要是代碼,就至少有一個作用域
  • 寫在函數內部的局部作用域
  • 如果函數中還有函數,那么在這個作用域中就可以誕生一個作用域
  • 在能夠訪問到的情況下,先局部,局部沒有找全局

?四.邏輯運算符里的短路

1.短路

只存在于&&和||中,當滿足一定條件會讓右邊代碼不執行

符號短路條件
&&左邊為false就短路
||左邊為true就短路

0、''、undefined、null、false、NaN轉換為布爾值之后都是false,其余為true

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

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

相關文章

從0到1搭建ELK日志收集平臺

ELK是什么 ELK 是指 Elasticsearch、Logstash 和 Kibana 這三種工具的組合,通常用于日志分析、數據搜索和可視化。它們分別承擔不同的功能,形成了強大的數據處理和分析平臺: Elasticsearch:一個分布式搜索引擎,擅長實時…

Qt:圖片切割

void MainWindow::on_action_slice_triggered() {QDialog *dialog new QDialog(this);dialog->setWindowTitle("切割");dialog->setFixedSize(200, 150);QVBoxLayout *vbox new QVBoxLayout;QHBoxLayout *hbox new QHBoxLayout;QLabel *label new QLabel(&…

BabelDOC,一個專為學術PDF文檔設計的翻譯和雙語對比工具

你是否也有這樣的困境,面對一篇學術論文,即使英語水平不錯,仍需反復查詞典,尤其是遇到專業術語和復雜長句,翻譯軟件又常常不能很好地處理學術PDF的排版,導致翻譯結果混亂不堪。 現在,解決你煩惱…

Python之面向對象和類

一.類1.類的定義:class 類名:“”“注釋 ”“”pass2.實例的創建:實例 類名(parameterlist)parameterlist:定義類時__init__()方法的參數,如果該方法只有一個self參數,parameterlist可以省略class Goose()…

【力扣 困難 C】329. 矩陣中的最長遞增路徑

目錄 題目 解法一 題目 待添加 解法一 int max(int a, int b) {return a > b ? a : b; }int search(int** matrix, int m, int n, int i, int j, int (*dp)[n]) {if (dp[i][j]) {return dp[i][j];}int len 0;if (i > 0 && matrix[i - 1][j] > matrix[i]…

Blueprints - UE5的增強輸入系統

一些學習筆記歸檔;增強輸入系統由兩部分組成:Input Action和Input Mapping ContextInput Action是輸入操作的映射(操作中比如有移動、跳躍等),Input Mapping Context是輸入情境的映射(對各種操作的具體按鍵…

Python 【技術面試題和HR面試題】? 動態類型、運算符、輸入處理及算法編程問答

1.技術面試題 (1)TCP與UDP的區別是什么? 答: ①連接性:TCP 面向連接,3次握手及4次揮手,建立端到端的虛鏈路像;UDP 無連接,直接發送,無需預先建立連接 。 ②傳…

etcd-cpp-apiv3 二次封裝

接口介紹頭文件#include <etcd/Client.hpp> #include <etcd/KeepAlive.hpp> #include <etcd/Response.hpp> #include <etcd/SyncClient.hpp> #include <etcd/Value.hpp> #include <etcd/Watcher.hpp>下面從功能介紹幾個類的概念Value &…

【網絡與系統安全】強制訪問控制——Biba模型

一、模型定義與目標 提出背景&#xff1a;1977年由Ken Biba提出&#xff0c;是首個完整性安全模型&#xff0c;與BLP模型形成對偶&#xff08;BLP關注機密性&#xff0c;Biba關注完整性&#xff09;。核心目標&#xff1a;防止低完整性信息污染高完整性信息&#xff0c;避免未授…

從架構抽象到表達范式:如何正確理解系統架構中的 4C 模型20250704

&#x1f9e9; 從架構抽象到表達范式&#xff1a;如何正確理解系統架構中的 4C 模型&#xff1f; “4C”到底是架構的組成結構&#xff0c;還是架構圖的表現方式&#xff1f;這類看似細節的問題&#xff0c;其實直擊了我們在系統設計中認知、表達與落地之間的張力。 &#x1f5…

Debian10安裝Mysql5.7.44 筆記250707

Debian10安裝Mysql5.7.44 筆記250707 1?? 參考 1 在Debian 10 (Buster) 上安裝 MySQL 5.7.44 的步驟如下&#xff1a; 1. 添加 MySQL APT 倉庫 MySQL 官方提供了包含特定版本的倉庫&#xff1a; # 下載倉庫配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.28…

20250706-6-Docker 快速入門(上)-鏡像是什么?_筆記

一、鏡像是什么&#xfeff;1. 一個分層存儲的文件&#xff0c;不是一個單一的文件分層結構: 與傳統ISO文件不同&#xff0c;Docker鏡像由多個文件組成&#xff0c;采用分層存儲機制存儲優勢: 每層可獨立復用&#xff0c;顯著減少磁盤空間占用&#xff0c;例如基礎層可被多個鏡…

[SystemVerilog] Clocking

SystemVerilog Clocking用法詳解 SystemVerilog 的 clocking 塊&#xff08;Clocking Block&#xff09;是一種專門用于定義信號時序行為的構造&#xff0c;主要用于驗證環境&#xff08;如 UVM&#xff09;中&#xff0c;以精確控制信號的采樣和驅動時序。clocking 塊通過將信…

kong網關基于header分流灰度發布

kong網關基于header分流灰度發布 在現代微服務架構中&#xff0c;灰度發布&#xff08;Canary Release&#xff09;已經成為一種常用且安全的上線策略。它允許我們將新版本的功能僅暴露給一小部分用戶&#xff0c;從而在保證系統穩定性的同時收集反饋、驗證效果、規避風險。而作…

Go語言gin框架原理

在gin框架中&#xff0c;最關鍵的就是前綴樹&#xff0c;是很重要的。gin框架本質上是在http包的基礎之上&#xff0c;對其的一個二次封裝。這里借鑒一下小徐先生的圖&#xff0c;可能當前版本的gin可能內容有所改變&#xff0c;但大致思想還是這樣。gin框架所做的就是提供一個…

4、Sending Messages

本節介紹如何發送消息。Using KafkaTemplate本節介紹如何使用KafkaTemplate發送消息。OverviewKafkaTemplate封裝了一個生產者&#xff0c;并提供了向Kafka主題發送數據的便利方法。以下列表顯示了KafkaTemplate的相關方法&#xff1a;CompletableFuture<SendResult<K, V…

CSS長度單位問題

在 CSS 中&#xff0c;100px 的邏輯長度在不同分辨率的手機屏幕上是否表現一致&#xff0c;取決于 設備的像素密度&#xff08;devicePixelRatio&#xff09; 和 視口&#xff08;viewport&#xff09;的縮放設置。以下是詳細分析&#xff1a;1. 核心概念 CSS 像素&#xff08;…

基于Java+SpringBoot的圖書管理系統

源碼編號&#xff1a;S606源碼名稱&#xff1a;基于SpringBoot的圖書管理系統用戶類型&#xff1a;雙角色&#xff0c;用戶、管理員數據庫表數量&#xff1a;12 張表主要技術&#xff1a;Java、Vue、ElementUl 、SpringBoot、Maven運行環境&#xff1a;Windows/Mac、JDK1.8及以…

XTOM工業級藍光三維掃描儀用于筆記本電腦背板模具全尺寸檢測

鎂合金具有密度小、強度高、耐腐蝕性好等優點&#xff0c;成為筆記本電腦外殼主流材料。沖壓模具作為批量生產筆記本電腦鎂合金背板的核心工具&#xff0c;其精度直接決定了產品的尺寸一致性、結構可靠性與外觀品質。微米級模具誤差可能在沖壓過程中被放大至毫米級&#xff08;…

運維打鐵: MongoDB 數據庫集群搭建與管理

文章目錄思維導圖一、集群基礎概念1. 分片集群2. 副本集二、集群搭建1. 環境準備2. 配置副本集步驟 1&#xff1a;修改配置文件步驟 2&#xff1a;啟動 MongoDB 服務步驟 3&#xff1a;初始化副本集3. 配置分片集群步驟 1&#xff1a;配置配置服務器副本集步驟 2&#xff1a;啟…