JavaScript數(shù)組的增刪改查、函數(shù)及作用域詳解
一.操作數(shù)組
1.改
2.增
- arr.push(新增的內(nèi)容):將一個(gè)或多個(gè)元素添加到數(shù)組的結(jié)尾
- arr.unshift(新增的內(nèi)容):方法將一個(gè)或多個(gè)元素添加到數(shù)組的開頭,并返回該數(shù)組的長(zhǎng)度
3.刪除
- arr.pop():方法從數(shù)組中刪除最后一個(gè)元素,不帶參數(shù),并返回元素的值
- arr.shift():方法從數(shù)組中刪除第一個(gè)元素,并返回元素的值
- arr.splice(start,deleteCount):start--起始位置,deleteCount--刪除元素的個(gè)數(shù)(不寫的話默認(rèn)全部刪除)
二.函數(shù)
1.函數(shù)的使用
先聲明后調(diào)用
a.聲明語法
function 函數(shù)名(){
函數(shù)體
}b.命名規(guī)范
- 和變量名基本一致
- 盡量小駝峰
- 前綴應(yīng)該為動(dòng)詞
- 常用的動(dòng)詞約定
| 動(dòng)詞 | 含義 |
| can | 判斷是否可執(zhí)行某個(gè)動(dòng)作 |
| has | 判斷是否含義某個(gè)值 |
| is | 判斷是否為某個(gè)值 |
| get | 獲取某個(gè)值 |
| set | 設(shè)置某個(gè)值 |
| load | 加載某些數(shù)據(jù) |
c.調(diào)用語法
函數(shù)不調(diào)用自己不執(zhí)行
函數(shù)名()
d.函數(shù)傳參
(1)聲明語法
function 函數(shù)名(參數(shù)列表){
函數(shù)體
}
//如
function getSum(num1,num2){
document.write(num1+num2)
}
- 形參:聲明函數(shù)寫在函數(shù)右括號(hào)里的
- 實(shí)參:調(diào)用函數(shù)時(shí)寫在函數(shù)名的右括號(hào)里的
- 形參理解為在函數(shù)中聲明的變量,實(shí)參理解為給這個(gè)變量賦值
- 開發(fā)中保持形參和實(shí)參的個(gè)數(shù)一致
(2)函數(shù)返回值
//當(dāng)函數(shù)需要返回?cái)?shù)據(jù)出去時(shí),用return關(guān)鍵字 return 數(shù)據(jù)
- 有些函數(shù)有返回值,有些沒有返回值
- return后面的數(shù)據(jù)不能換行寫
- 沒有值,默認(rèn)返回的是undefined
- 返回多個(gè)數(shù)據(jù)時(shí)可以使用數(shù)組的形式返回
(3)函數(shù)注意點(diǎn)
- 函數(shù)名相同時(shí),就近原則,后面的函數(shù)會(huì)覆蓋前面的函數(shù)
- 在JS中形參和實(shí)參的個(gè)數(shù)可以不一致(形參過多--自動(dòng)填上undefined;實(shí)參過多--多余的實(shí)參被忽略,函數(shù)內(nèi)部有一個(gè)arguments,里面裝著所有的實(shí)參)
- 一旦碰到return就不會(huì)執(zhí)行了,所以結(jié)束用return
2.匿名函數(shù)
函數(shù)可以分為:具名函數(shù)+匿名函數(shù)
a.沒有名字的函數(shù),無法直接使用
b.使用方式
(1)函數(shù)表達(dá)式
let fn=function(){
//函數(shù)體
}
fn()//調(diào)用函數(shù)- 具名函數(shù)可以在函數(shù)聲明調(diào)用 (調(diào)用可以寫到任意位置)
- 函數(shù)表達(dá)式要先聲明
(2)立即執(zhí)行函數(shù)
//方式1--將匿名函數(shù)整個(gè)直接使用小括號(hào)包起來,然后直接小括號(hào)調(diào)用
(function (){console.log(11)})();
//方式2--調(diào)用之后再用一個(gè)小括號(hào)全部括起來
(function(){console.log(11)}());
//不需要調(diào)用立即執(zhí)行- 避免全局變量之間的污染
- 不需要額外調(diào)用
- 多個(gè)立即執(zhí)行函數(shù)之間要用分號(hào)隔開
三.作用域
1.所用到的名字是有可用性的代碼范圍.簡(jiǎn)稱作用域
2.組成
a.全局作用域:,整個(gè)script標(biāo)簽包含的是全局作用域
b.局部作用域:函數(shù)作用域,跳出函數(shù)后不能使用
c.全局變量:函數(shù)外的let的變量
d.局部變量:函數(shù)內(nèi)的let的變量
3.變量的特殊情況
- 函數(shù)沒有聲明,直接賦值,就當(dāng)做全局變量(強(qiáng)烈不允許)
- 函數(shù)內(nèi)部的形參可以看作函數(shù)的局部變量
4.變量的訪問原則
- 只要是代碼,就至少有一個(gè)作用域
- 寫在函數(shù)內(nèi)部的局部作用域
- 如果函數(shù)中還有函數(shù),那么在這個(gè)作用域中就可以誕生一個(gè)作用域
- 在能夠訪問到的情況下,先局部,局部沒有找全局
四.邏輯運(yùn)算符里的短路
1.短路
只存在于&&和||中,當(dāng)滿足一定條件會(huì)讓右邊代碼不執(zhí)行
| 符號(hào) | 短路條件 |
| && | 左邊為false就短路 |
| || | 左邊為true就短路 |
0、''、undefined、null、false、NaN轉(zhuǎn)換為布爾值之后都是false,其余為true
總結(jié)
到此這篇關(guān)于JavaScript數(shù)組的增刪改查、函數(shù)及作用域的文章就介紹到這了,更多相關(guān)JS數(shù)組增刪改查函數(shù)作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序填寫用戶頭像和昵稱實(shí)現(xiàn)方法淺析
這篇文章主要介紹了微信小程序填寫用戶頭像和昵稱實(shí)現(xiàn)方法,我們使用小程序往往能碰到提示允許獲取用戶頭像昵稱,這種功能怎么實(shí)現(xiàn)呢?本篇文章帶你探索2023-02-02
使用HTML+JavaScript實(shí)現(xiàn)具有交互功能的組織架構(gòu)圖
在開發(fā)大型應(yīng)用程序時(shí),設(shè)計(jì)良好的組織架構(gòu)圖對(duì)于團(tuán)隊(duì)協(xié)作和代碼維護(hù)非常重要,這篇文章主要介紹了使用HTML+JavaScript實(shí)現(xiàn)具有交互功能的組織架構(gòu)圖的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-06-06
JS實(shí)現(xiàn)帶提示的星級(jí)評(píng)分效果完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)帶提示的星級(jí)評(píng)分效果,以完整實(shí)例形式較為詳細(xì)的分析了JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)變換頁面元素樣式的相關(guān)技巧,非常簡(jiǎn)單實(shí)用的代碼,需要的朋友可以參考下2015-10-10
關(guān)于JS數(shù)組追加數(shù)組采用push.apply的問題
JS數(shù)組追加數(shù)組沒有現(xiàn)成的函數(shù),這么多年我已經(jīng)習(xí)慣了a.push.apply(a, b);這種自以為很酷的,不需要寫for循環(huán)的寫法,一直也沒遇到什么問題,直到今天我要append的b是個(gè)很大的數(shù)組時(shí)才遇到了坑。2014-06-06
Javascript前端下載后臺(tái)傳來的文件流代碼實(shí)例
這篇文章主要介紹了Javascript前端下載后臺(tái)傳來的文件流代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
基于webpack-hot-middleware熱加載相關(guān)錯(cuò)誤的解決方法
下面小編就為大家分享一篇基于webpack-hot-middleware熱加載相關(guān)錯(cuò)誤的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02

