成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

javascript面向對象技術基礎(二)

開發(fā) 前端
好多JAVASCRIPT的文章,對于初學者來說,太深奧,難理解。本系列會從基礎開始講起,今天介紹第二篇,數(shù)組,一起來看。

看了很多介紹javascript面向對象技術的文章,很暈.為什么?不是因為寫得不好,而是因為太深奧.javascript中的對象還沒解釋清楚怎么回事,一上來就直奔主題,類/繼承/原型/私有變量。結果呢,看了大半天,有了一個大概的了解,細細一回味,好像什么都沒懂。

這篇文章是參考<<javascript-the definitive guide,5th edition>>第7,8,9章而寫成的,我也會盡量按照原書的結構來說明javascript的面向對象技術(對象/數(shù)組->函數(shù)-->類/構造函數(shù)/原型).對一些我自己也拿捏不準的地方,我會附上原文的英文語句,供大家參考.

如果不做說明,則文中出現(xiàn)的所有英文語句(程序體除外)都是引自<<javascript-the definitive guide,5th edition>>.

數(shù)組

我們已經(jīng)提到過,對象是無序數(shù)據(jù)的集合,而數(shù)組則是有序數(shù)據(jù)的集合,數(shù)組中的數(shù)據(jù)(元素)通過索引(從0開始)來訪問,數(shù)組中的數(shù)據(jù)可以是任何的數(shù)據(jù)類型.數(shù)組本身仍舊是對象,但是由于數(shù)組的很多特性,通常情況下把數(shù)組和對象區(qū)別開來分別對(Throughout this book, objects and arrays are often treated as distinct datatypes.This is a useful and reasonable simplification; you can treat objects and arrays as separate types for most of your JavaScript programming.To fully understand the behavior of objects and arrays, however, you have to know the truth: an array is nothing more than an object with a thin layer of extra
functionality. You can see this with the typeof operator: applied to an array value, it returns the string "object". --section7.5).

創(chuàng)建數(shù)組可以用"[]"操作符,或者是用Array()構造函數(shù)來new一個.

Js代碼

  1. var array1 = []; //創(chuàng)建空數(shù)組  
  2. var array2 = new Array(); //創(chuàng)建空數(shù)組  
  3. array1 = [1,"s",[3,4],{"name1":"NAME1"}]; //  
  4. alert(array1[2][1]); //4 訪問數(shù)組中的數(shù)組元素  
  5. alert(array1[3].name1); //NAME1 訪問數(shù)組中的對象  
  6. alert(array1[8]); //undefined  
  7. array2 = [,,]; //沒有數(shù)值填入只有逗號,則對應索引處的元素為undefined  
  8. alert(array2.length); //3  
  9. alert(array2[1]); //undefined 

用new Array()來創(chuàng)建數(shù)組時,可以指定一個默認的大小,其中的值此時為undefined,以后可以再給他們賦值.但是由于javascript中的數(shù)組的長度是可以任意改變的,同時數(shù)組中的內(nèi)容也是可以任意改變的.

因此這個初始化的長度實際上對數(shù)組沒有任何的約束力.對于一個數(shù)組,如果對超過它***長度的索引賦值,則會改變數(shù)組的長度,同時會對沒有賦值的索引處賦值undefined,看下面的例子.

Js代碼
 

  1.  var array = new Array(10);  
  2. alert(array.length); //10  
  3. alert(array[4]); //undefined  
  4. array[100] = "100th"//這個操作會改變數(shù)組的長度,同時將10-99索引對應的值設為undefined  
  5. alert(array.length); //101  
  6. alert(array[87]); //undefined  

可以用delete操作符刪除數(shù)組的元素,注意這個刪除僅僅是將數(shù)組在該位置的元素設為undefined,數(shù)組的長度并沒有改變.我們已經(jīng)使用過了數(shù)組的length屬性,length屬性是一個可以讀/寫的屬性,也就是說我們可以通過改變數(shù)組的length屬性來任意的改變數(shù)組的長度.如果將length設為小于數(shù)組長度的值,則原數(shù)組中索引大于length-1的值都會被刪除.如果length的值大于原始數(shù)組的長度,則在它們之間的值設為undefined.

Js代碼

  1. var array = new Array("n1","n2","n3","n4","n5"); //五個元素的數(shù)組  
  2. var astring = "";  
  3. for(var i=0; i<array.length; i++) { //循環(huán)數(shù)組元素  
  4. astring += array[i];  
  5. }  
  6. alert(astring); //n1n2n3n4n5  
  7. delete array[3]; //刪除數(shù)組元素的值  
  8. alert(array.length + "_" + array[3]) //5_undefined  
  9. array.length = 3; //縮減數(shù)組的長度  
  10. alert(array[3]); //undefined  
  11. array.length = 8; //擴充數(shù)組的長度  
  12. alert(array[4]); //undefined  

對于數(shù)組的其他方法諸如join/reverse等等,在這就不再一一舉例.

通過上面的解釋,我們已經(jīng)知道,對象的屬性值是通過屬性的名字(字符串類型)來獲取,而數(shù)組的元素是通過索引(整數(shù)型 0~~2**32-1)來得到值.數(shù)組本身也是一個對象,所以對象屬性的操作也完全適合于數(shù)組.

【編輯推薦】

  1. javascript面向對象技術基礎(一)
  2. Javascript中閉包的作用域鏈
  3. 讓瀏覽器非阻塞加載javascript的幾種方式
  4. Javascript解決瀏覽器兼容性問題

 

責任編輯:于鐵 來源: iteye.com
相關推薦

2011-05-13 09:58:46

javascript

2011-05-13 11:17:18

javascript

2011-05-13 11:27:59

javascript

2011-05-13 12:38:58

javascript

2011-05-13 11:05:52

javascript

2011-05-25 10:59:26

Javascript繼承

2009-06-10 22:06:29

JavaScript面向對象

2012-01-17 09:34:52

JavaScript

2017-04-21 09:07:39

JavaScript對象編程

2020-10-20 08:35:34

JS基礎進階

2013-08-21 17:20:49

.NET面向對象

2011-07-14 17:37:02

C++面向對象編程思想

2012-02-27 09:30:22

JavaScript

2021-10-21 18:47:37

JavaScript面向對象

2009-01-04 09:08:30

面向對象繼承接口

2011-05-25 10:21:44

Javascript

2023-10-25 13:42:19

Java面向對象

2010-06-18 17:49:34

UML面向對象技術

2010-06-17 18:17:36

UML面向對象技術

2010-06-29 18:58:23

UML面向對象技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久福利一牛影视 | 日韩精品一区二区三区中文在线 | 久久狼人天堂 | 成人免费看黄网站在线观看 | 国产精品69久久久久水密桃 | 狠狠干美女 | 久久久久久久久久久久久久久久久久久久 | 国产欧美精品一区二区三区 | 成人精品在线视频 | 国产成人精品免费视频大全最热 | 亚洲国产成人在线观看 | 超碰在线人 | 国产精品夜夜春夜夜爽久久电影 | 欧美一级二级在线观看 | 一区二区三区视频在线免费观看 | 欧美中文字幕在线 | 伊人影院99 | 国产精品国产精品国产专区不片 | 美女黄网 | 日韩欧美在线不卡 | 精品一区二区久久久久久久网站 | 国产精品久久777777 | 欧美黑人一区二区三区 | 日韩欧美日韩在线 | 欧美二区在线 | 久久精品色视频 | 嫩草视频在线免费观看 | 中文字幕电影在线观看 | 亚洲视频在线一区 | 91社区视频 | 天天干夜夜| 久草热播| 久久综合爱 | 国产美女视频黄a视频免费 国产精品福利视频 | 国产成人网 | 一级女毛片 | 久久久久久久综合色一本 | 成年人在线视频 | 亚洲国产精品一区 | 91成人小视频 | 国产丝袜一区二区三区免费视频 |