日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
javascript面向?qū)ο蠹夹g(shù)基礎(chǔ)(二)

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

十年的安溪網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整安溪建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“安溪網(wǎng)站設(shè)計”,“安溪網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

這篇文章是參考<>第7,8,9章而寫成的,我也會盡量按照原書的結(jié)構(gòu)來說明javascript的面向?qū)ο蠹夹g(shù)(對象/數(shù)組->函數(shù)-->類/構(gòu)造函數(shù)/原型).對一些我自己也拿捏不準的地方,我會附上原文的英文語句,供大家參考.

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

數(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()構(gòu)造函數(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ù)值填入只有逗號,則對應(yīng)索引處的元素為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索引對應(yīng)的值設(shè)為undefined
  5. alert(array.length); //101
  6. alert(array[87]); //undefined 

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

Js代碼

 
 
 
  1. var array = new Array("n1","n2","n3","n4","n5"); //五個元素的數(shù)組
  2. var astring = "";
  3. for(var i=0; i
  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ù)組.


網(wǎng)頁題目:javascript面向?qū)ο蠹夹g(shù)基礎(chǔ)(二)
URL網(wǎng)址:http://www.5511xx.com/article/coejsjh.html