javascript高階程式設計筆記(一)

2021-06-28 11:50:43 字數 1419 閱讀 6888

第五章引用型別

js建立陣列的方式兩種:1var colors=new array(),裡面可以定義長度或者實際內容。2 var color=[ ];

js中沒有**塊概念for(var i=0;i<10;i++)    alert 結果為10

js函式中var宣告的函式會自動新增到最近的環境,比如呼叫乙個函式,裡面的var變數時訪問不了的

但是,如果乙個變數沒有被宣告為var,那麼他就可以被外部環境所訪問(建議一定要對變數進行宣告)

js陣列push和pop方法可以實現棧,而push和shift方法可以實現佇列的功能

js實現排序功能:reverse方法倒敘輸出陣列,sort實現排序,但是要寫乙個compare函式作為引數傳入sort方法

陣列的contact方法可以基於當前陣列所有項建立乙個新的陣列,接受的引數可以是乙個多個陣列或者值

slice()方法切掉傳入的引數對應的陣列元素,返回新陣列

陣列的splice方法,返回乙個陣列(是第幾項,而不是陣列下標):原則有三種

1刪除:接受兩個引數:起始刪除元素位置以及刪除的項數(呼叫此方法後原陣列顯示剩下的數,返回的新陣列為刪除的元素)

2插入:接受三個引數:要插入的位置、0、插入的內容(多個用逗號隔開即可,呼叫此方法後原陣列顯示新增後的陣列,返回的新陣列為空)

3替換:接受三個引數:起始位置、刪除的項數(大於0)、替換的內容(替換起始位置後乙個,原陣列變為替換後的陣列,新變數返回的為刪除內容)

陣列的位置方法:兩個indexof和lastindexof(都返回要查詢數值的陣列下標,不存在返回-1)

迭代方法:五個迭代方法every,some,filter,map,foreach

每個迭代方法都接受兩個引數(要在陣列每個元素上執行的函式和執行該函式的作用物件(可不寫此項)),而在每個元素上執行的函式要有三個引數;陣列元素的值,陣列元素對應的下標,陣列本身 如:

var numbers=[1,2,3,4,5,4,3,2,1];

var everyresult=numbers.every(function (item,index,array));

alert(everyresult);

every:如果每個陣列元素都滿足內部函式要求,返回true;

some:如果有陣列元素滿足內部函式要求,返回true;

filter:返回滿足內部函式要求的陣列元素值

map:返回執行內部函式後的陣列元素

foreach:無返回值,本質上與for迴圈迭代陣列一樣

縮小方法:reduce和reduceright(reduce陣列從前到後執行,二reduceright從後到前)接受兩個引數(每一項執行的函式以及作為縮小基礎的初始值(可選)),引數函式接受四個引數:前乙個值,當前值,項的索引,陣列物件。函式返回的值作為下一次執行的第乙個引數傳給下乙個函式

JavaScript高階程式設計

ecmascript有5種基本型別資料 另外還有一種複雜的資料型別 typeof就是用來檢測變數的資料型別的,typeof可能會返回以下值 typeof操作符在檢測引用型別的值時,總是會返回object,所以用處不大。instanceof用來檢測物件型別的,返回值是 true false。例如 pe...

JavaScript高階程式設計 this

在函式中this到底取何值,是在函式真正被呼叫執行的時候確定的,函式定義的時候確定不了 因為this的取值是執行上下文環境的一部分,每次呼叫函式,都會產生乙個新的執行上下文環境。所謂建構函式就是用來new物件的函式。其實嚴格來說,所有的函式都可以new乙個物件,但是有些函式的定義是為了new乙個物件...

javascript 高階程式設計 二

這裡我們直接進入主題 在js剛剛開始的時候,必須面臨乙個問題,那就是如何使的js的載入和執行不會影響web核心語言html的展示效果,和html和諧共存。在這個背景下 2 xhtml中的應用 在html中如果字串,那麼html就會認為js指令碼已經結束所以會產生乙個錯誤用一下 來替換 來替換aler...