學習JS第八節 陣列

2021-09-29 06:20:59 字數 2197 閱讀 5547

1.三目運算子

var num = 判斷條件 ? 返回式一 : 返回式二;
2.陣列定義方法
var arr[10] = 10;

//陣列長度就是11

3.push

在陣列最後一位新增

//**實現

var arr = [1,2,3];

array.prototype.push = function()

return this.length;

}

4.pop

彈出陣列最後一位,引數只能為空或1,因為其他的引數不會識別

5.shift

6.unshift

在陣列前面新增,且返回陣列長度

7.reverse

反轉陣列

8.splice(從第幾位開始,擷取多少長度,在切口處新增新資料)

//系統內部實現部分原理

splice = function(pos)

9.sort

對陣列排序,但是對比的是ascii,因此系統留了介面,改變排序規則

var arr = [1, 3, 5, 4, 10];

//控制台輸入 arr.sort

//返回 1,10,3,4,5

系統留的介面,有兩個規則

(1)必須寫兩個形參

(2)看返回值

a.當返回值為負數時,那麼前面的數放在前面

b.正數,後面的數在前

c.0,不改變

arr.sort(function(a, b) );
arr.sort(function(a, b) );
arr.sort(function(a, b) );
var person1 = 

var person2 =

var person3 =

var arr = [person1, person2, person3];

arr.sort(function (a, b) else

});

10.concat

拼接兩個陣列,且不改變原陣列

11.slice(從該位開始擷取, 擷取到該位)

不改變原陣列,所以要新建陣列接收返回值

第乙個引數,可以為負數,代表倒數,比如-1代表倒數第一位

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

var newarr = arr.slice(1, 3);

// newarr

// 2,3

12.join(『連線陣列的東西』)

注意:引數要加引號

返回值是字元

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

// arr.join('-')

// 1-2-3-4-5

沒有引數的話以逗號連線

13.str.split(『以這個字元拆分陣列』)

split是字串的方法,返回值是陣列

var str2 = 'tencent';14.類陣列

長得像陣列也能像陣列一樣用,但不是陣列

形式如下:

var obj =
增加splice方法後,類陣列可以跟陣列長得很像

var obj =
具體區別自己輸入到控制台看看

push方法的系統實現:

array.prototype.push = function(target)
乙個例子:

var obj = 

obj.push('c');

obj.push('d');

// obj變為

類陣列優點:可以被作為陣列和物件使用,具有強大的儲存資料能力。

然而不能所有的陣列方法均使用,需要自己用原型array.prototype.方法定義

在dom中生成的物件陣列都是類陣列。

第八節 函式

函式的特性 減少 重複 使程式變得可擴充套件 使程式變得易維護 乙個函式只做一件事情 變數作用域 python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在 賦值的。變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python的作用域一共有4種,分別是 以 l...

編譯原理 第八節

分為兩大類 自頂向下分析 和 自底向上分析 其中前者又細分為 遞迴下降分析法 包含回溯的遞迴下降分析法和不含回溯的遞迴下降分析法 和非遞迴的 分析法 ll分析法 後者分為算符優先分析法和lr分析法。思想 從語法的開始符號出發,試探使用不同產生式,尋找匹配於輸入符號串的推導。或者說,從對應文法開始符號...

第八節 觸發器

上節中學到了quartz 如何解析corn like 表示式,其實觸發器中最核心的地方就是處理時間,這一節讓我們來了解下quartz中的觸發器有哪些吧 我想大家一定首先想到的就是處理corn like的觸發器吧,它就是crontriggerimpl觸發器,還是看一下類圖,看看有多少觸發器,和它們之間...