国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript數(shù)據(jù)類型學習筆記分享

2019-11-20 09:06:43
字體:
來源:轉載
供稿:網(wǎng)友

本文實例為大家講解JavaScript數(shù)據(jù)類型的相關資料,供大家參考,具體內(nèi)容如下

1.引用類型
引用類型的值是引用類型的一個實例,引用類型是一種數(shù)據(jù)結構,用于將數(shù)據(jù)和功能組織在一起,也常被叫做類。
對象時某個特定引用類型的實例,新對象是使用new操作符后跟一個構造函數(shù)來創(chuàng)建的,構造函數(shù)本身就是函數(shù),是出于創(chuàng)建新對象的目的而定義的。

 var person = new Object();

2.Object類型
(1)Object類型對于應用程序中存儲和傳輸數(shù)據(jù)來說,是非常理想的選擇。
(2)Object類型實例創(chuàng)建方式:
使用new加Object構造函數(shù)。

 <script type="text/javascript">      var person = new Object();      person.name = "peter";      alert(person.name); </script>

使用對象字面量的表示方法。

var dog = {        name:"kity",        age:3,        eye:bigEyes      };

這種創(chuàng)建方法,由一對花括號開始,前面是變量名,后面是冒號,再是屬性值,可以有多個屬性,但是每個屬性之間必須使用逗號分隔,最后一個屬性一般是不加逗號的。其中屬性名也可以是字符串。如果花括號里面不寫東西,那么只可以定義包含默認屬性和方法的對象。

一般來說,訪問對象屬性使用點表示法,在javascript中使用方括號[]來訪問對象的屬性。在使用[]時,應該將要訪問的屬性以字符串的形式放在[]中。

 alert(person["name"]);
    alert(person.name);

前者可以通過變量訪問屬性。
如果屬性名中包含會導致語法錯誤的字符,屬性名使用的是關鍵字或保留字,也可以使用方括號。
除非必須使用變量來訪問屬性,否則我們建議使用點表示法。

3.Array類型
javascript中的數(shù)組是有序列表,它可以保存任意類型的數(shù)據(jù),這是和其他語言數(shù)組的最大區(qū)別,而且它的數(shù)組的大小是可以動態(tài)調整的。
(1)創(chuàng)建數(shù)組的基本方式:
使用Array構造函數(shù),可以給他傳值(數(shù)組的大小或者數(shù)組的內(nèi)容)

 var student = new Array();  var student = new Array(10);  var student = new Array("peter","merry","bob");

(2)使用數(shù)組字面量的表示方法,數(shù)組字面量由一對包含數(shù)組項的方括號表示,多個數(shù)組之間用逗號隔開。
(3)在讀取和設置數(shù)組的值時,使用方括號和對應值基于0的數(shù)字索引。
數(shù)組的長度保存在length屬性中,這個屬性值可以返回0或者更大的數(shù)值。可以通過設置length屬性的值,從數(shù)組的末尾刪除或者增加新的項。

 var colors = ["red","blue","green"];  colors.length = 2;//數(shù)組長度變成了2,green被移除  alert(colors[2]);//此時訪問會返回undefined,alert(colors[1]);會返回blue

如果將Length屬性設置為大于數(shù)組項目的值,則新增的每一項都會返回undefined值。

 var colors = ["red","blue","green"];  colors.length = 5;  alert(colors[4]);

利用length屬性在數(shù)組末尾增加項。

 var colors = ["red","blue","green"];  alert(colors[colors.length]="black");

(4)數(shù)組最多可以包含4294967295個項
(5)檢測數(shù)組
使用Array.isArray()方法,它可以最終確定該值是不是數(shù)組,而且不管他是在哪個全局執(zhí)行環(huán)境中創(chuàng)建的。

 if(Array.isArray){    //operates   }

(6)轉換方法
所有對象都具有toLocaleString(),toString()和valueOf()方法,其中,調用數(shù)組的toString()方法會返回由數(shù)組中每個值得字符串形式拼接而成的一個以逗號分隔的字符串。valueOf()會返回數(shù)組。
當調用toLocaleString()方法時,會創(chuàng)建一個數(shù)組值得以逗號分隔的字符串,與前面的不同是,為了取得每一項的值,調用的是每一項的toLocaleString()方法,而不是toString()方法。

<script type="text/javascript">      var person1 = {        toString : function(){          return "peter";        },        toLocaleString :function(){          return "mary";        }      };      var person2 = {        toString: function(){          return "26";        },        toLocaleString:function(){          return "18";        }      };      var person = [person1,person2];      alert(person);      alert(person.toString());      alert(person.toLocaleString());    </script>

使用join()方法可以用不同的分隔符來構建這個字符串,join()方法只接收一個參數(shù),用作分隔符的字符串,然后返回包含所有數(shù)組項的字符串。如果不給join()方法傳入任何值,或者傳入undefined,使用逗號作為分隔符。如果數(shù)組中的某一項的值是null或undefined,那么該值在join(),toString(),toLocaleString()和valueOf()方法返回的結果中以空字符串表示。

<script type="text/javascript">      var person1 = {        toString : function(){          return "peter";        },        toLocaleString :function(){          return "mary";        }      };      var person2 = {        toString: function(){          return "26";        },        toLocaleString:function(){          return "18";        }      };      var person = [person1,person2];      alert(person);      alert(person.toString());      alert(person.toLocaleString());      alert(person.join("*"));      alert(person.join("--"));    </script>

(7)棧方法
棧就是數(shù)據(jù)結構中的棧,他的特點就是先進后出,而且所有的操作只發(fā)生在棧頂,javascript提供了push()和pop()方法,可以實現(xiàn)類似于棧的行為。
push()可以接收任意數(shù)量的參數(shù),并且逐個添加到數(shù)組的末尾,并返回修改后數(shù)組的長度。
pop()方法可以從數(shù)組末尾移除最后一項,減少數(shù)組的lengthh值,然后返回移除的頂。
(8)隊列方法
隊列的數(shù)據(jù)結構特點是先進先出,隊列在列表末端添加項,從列表的前端移除項。
push()可以向數(shù)組的末端添加項,shift()可以移除數(shù)組中的第一個項,并返回該項,數(shù)組長度減1;unshift()可以在數(shù)組前端添加任意個項并返回新數(shù)組的長度。
(9)重排序方法
reverse()會反轉數(shù)組的順序
默認情況下,sort()按照升序排列數(shù)組項(最小值位于最前面,最大值位于最后面,為了實現(xiàn)排序,sort()方法會調用每個數(shù)組項的toString()轉型方法,然后比較得到的字符串,來確定如何排序)。sort()可以接收一個比較函數(shù)作為參數(shù),比較函數(shù)接收兩個參數(shù),如果第一個參數(shù)應該位于第二個之前,返回一個負數(shù),如果兩個參數(shù)相等則返回0,如果第一個參數(shù)應該位于第二個之后返回一個正數(shù)。
reverse()和sort()方法的返回值都是經(jīng)過排序之后的數(shù)組。
(10)操作方法
concat()可以基于當前數(shù)組中的所有項創(chuàng)建一個新數(shù)組。
slice()可以基于當前數(shù)組中一個或多個項創(chuàng)建一個新數(shù)組,slice()可以接收一個或兩個參數(shù),要返回項的起始和結束位置,。參數(shù)為一個時,會返回該參數(shù)指定位置開始到當前數(shù)組末尾的所有項;如果有兩個參數(shù),返回起始和結束位置之間的項,但是不包括結束位置的項。
splice()方法:主要用于向數(shù)組的中部插入項
刪除:可以刪除任意數(shù)量的項,只需要指定2個參數(shù),要刪除的第一項的位置和要刪除的項數(shù)。
插入:可以向指定位置插入任意數(shù)量的項,只需提供三個參數(shù),起始位置和0和要插入的項。
替換:可以向指定位置插入任意數(shù)量的項,且同時刪除任意數(shù)量的項,只需指定3個參數(shù),起始位置,要刪除的項數(shù)和要插入的任意數(shù)量的項,插入項數(shù)不必與刪除的項數(shù)相等。
splice()總會返回一個數(shù)組,該數(shù)組中包含從原始數(shù)組中刪除的項(如果沒有刪除任何項,則返回一個空數(shù)組)。
(11)位置方法
這兩個方法都可以接收兩個參數(shù),要查找的項和表示查找起點位置的索引,都返回要查找的項在數(shù)組中的位置,或在沒有找到的情況下返回-1,在比較第一個參數(shù)與數(shù)組中的每一項時,會使用全等操作符,要查找的項必須嚴格相等。
indexOf():從數(shù)組的開頭開始向后查找
lastIndexOf():從數(shù)組的末尾開始向前查找。
(12)迭代方法
javascript為數(shù)組提供了5個迭代方法,每個方法都接收兩個參數(shù):要在每一項運行的函數(shù)和(可選的)作用域對象(影響this的值),傳入這些方法中的函數(shù)會接收三個參數(shù):數(shù)組項的值,該數(shù)組中的位置和數(shù)組對象本身。
every():對數(shù)組中每一項運行給定函數(shù),如果該函數(shù)對每一項都返回true,則返回true.
filter():對數(shù)組中每一項運行給定函數(shù),返回該函數(shù)會返回true的項組成的數(shù)組
forEach():對數(shù)組中每一項運行給定函數(shù),這個方法沒有返回值
map():對數(shù)組中每一項運行給定函數(shù),返回每次函數(shù)調用的結果組成的數(shù)組
some():對數(shù)組中每一項運行給定函數(shù),如果該函數(shù)對任一項返回true,則返回true.
上面的方法都不會修改數(shù)組中的包含值。
every()和sum()都用于查詢數(shù)組中的項是否滿足某個條件
(13)縮小方法
下面的兩個方法都會迭代數(shù)組的所有項,然后構建一個最終返回的值。都接收兩個參數(shù):一個在每一項上調用函數(shù)和(可選的)作為縮小基礎的初始值。傳給這兩個方法接收4個參數(shù):前一個值,當前值,項的索引和數(shù)組對象。這個函數(shù)返回的任何值都會作為第一個參數(shù)自動傳給下一項,第一次迭代發(fā)生在數(shù)組的第二項上,因此第一個參數(shù)是數(shù)組的第一項,第二個參數(shù)是數(shù)組的第二項。
reduce():從數(shù)組的第一項開始,逐個遍歷到最后。可以執(zhí)行求數(shù)組中所有值得和的操作。

<script type="text/javascript">      var values=[1,2,3,4,5];      var sum = values.reduce(function(prev,cur,index,array){        return prev + cur;      });      alert(sum);  </script>

reduceRight():從數(shù)組最后一項開始,向前遍歷到第一項。可以執(zhí)行求數(shù)組中所有值得和的操作。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平安县| 璧山县| 湘潭市| 鄢陵县| 内乡县| 建始县| 大新县| 秦安县| 辽阳县| 秦安县| 枣阳市| 巴彦淖尔市| 织金县| 潮州市| 长白| 太谷县| 牙克石市| 洛扎县| 手游| 石景山区| 岑溪市| 京山县| 海淀区| 竹山县| 申扎县| 庆阳市| 孝感市| 浪卡子县| 来宾市| 葫芦岛市| 五原县| 天峻县| 江西省| 宁蒗| 天津市| 深泽县| 万全县| 神木县| 乌拉特后旗| 太仆寺旗| 泽库县|