最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年09月01日 11:37:48   作者:u012934325  
這篇文章主要為大家分享了JavaScript數(shù)據(jù)類型學習筆記,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

1.引用類型
引用類型的值是引用類型的一個實例,引用類型是一種數(shù)據(jù)結(jié)構,用于將數(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)調(diào)整的。
(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)轉(zhuǎn)換方法
所有對象都具有toLocaleString(),toString()和valueOf()方法,其中,調(diào)用數(shù)組的toString()方法會返回由數(shù)組中每個值得字符串形式拼接而成的一個以逗號分隔的字符串。valueOf()會返回數(shù)組。
當調(diào)用toLocaleString()方法時,會創(chuàng)建一個數(shù)組值得以逗號分隔的字符串,與前面的不同是,為了取得每一項的值,調(diào)用的是每一項的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()方法返回的結(jié)果中以空字符串表示。

<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ù)結(jié)構中的棧,他的特點就是先進后出,而且所有的操作只發(fā)生在棧頂,javascript提供了push()和pop()方法,可以實現(xiàn)類似于棧的行為。
push()可以接收任意數(shù)量的參數(shù),并且逐個添加到數(shù)組的末尾,并返回修改后數(shù)組的長度。
pop()方法可以從數(shù)組末尾移除最后一項,減少數(shù)組的lengthh值,然后返回移除的頂。
(8)隊列方法
隊列的數(shù)據(jù)結(jié)構特點是先進先出,隊列在列表末端添加項,從列表的前端移除項。
push()可以向數(shù)組的末端添加項,shift()可以移除數(shù)組中的第一個項,并返回該項,數(shù)組長度減1;unshift()可以在數(shù)組前端添加任意個項并返回新數(shù)組的長度。
(9)重排序方法
reverse()會反轉(zhuǎn)數(shù)組的順序
默認情況下,sort()按照升序排列數(shù)組項(最小值位于最前面,最大值位于最后面,為了實現(xiàn)排序,sort()方法會調(diào)用每個數(shù)組項的toString()轉(zhuǎn)型方法,然后比較得到的字符串,來確定如何排序)。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ù),要返回項的起始和結(jié)束位置,。參數(shù)為一個時,會返回該參數(shù)指定位置開始到當前數(shù)組末尾的所有項;如果有兩個參數(shù),返回起始和結(jié)束位置之間的項,但是不包括結(jié)束位置的項。
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ù)和(可選的)作用域?qū)ο螅ㄓ绊憈his的值),傳入這些方法中的函數(shù)會接收三個參數(shù):數(shù)組項的值,該數(shù)組中的位置和數(shù)組對象本身。
every():對數(shù)組中每一項運行給定函數(shù),如果該函數(shù)對每一項都返回true,則返回true.
filter():對數(shù)組中每一項運行給定函數(shù),返回該函數(shù)會返回true的項組成的數(shù)組
forEach():對數(shù)組中每一項運行給定函數(shù),這個方法沒有返回值
map():對數(shù)組中每一項運行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組
some():對數(shù)組中每一項運行給定函數(shù),如果該函數(shù)對任一項返回true,則返回true.
上面的方法都不會修改數(shù)組中的包含值。
every()和sum()都用于查詢數(shù)組中的項是否滿足某個條件
(13)縮小方法
下面的兩個方法都會迭代數(shù)組的所有項,然后構建一個最終返回的值。都接收兩個參數(shù):一個在每一項上調(diào)用函數(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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • javascript下拉列表菜單的實現(xiàn)方法

    javascript下拉列表菜單的實現(xiàn)方法

    這篇文章主要介紹了javascript下拉列表菜單的實現(xiàn)方法,采用table來封裝,我們知道table的每一行寫滿了之后,下一行會自動添加,文章末尾附有完整的代碼,需要的朋友可以參考下
    2015-11-11
  • Webstorm開發(fā)uni-app項目詳細圖文教程

    Webstorm開發(fā)uni-app項目詳細圖文教程

    這篇文章主要介紹了使用WebStorm和UniappTool創(chuàng)建和運行uni-app項目的相關資料,包括配置微信開發(fā)者工具和運行項目,同時提到了創(chuàng)建新頁面和使用uniapptool存在的弊端,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-11-11
  • 每周一練 之 數(shù)據(jù)結(jié)構與算法(Stack)

    每周一練 之 數(shù)據(jù)結(jié)構與算法(Stack)

    這篇文章主要介紹了數(shù)據(jù)結(jié)構與算法(Stack),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • JS實現(xiàn)簡單貪吃蛇小游戲

    JS實現(xiàn)簡單貪吃蛇小游戲

    這篇文章為大家詳細主要介紹了JS實現(xiàn)簡單貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • JS數(shù)字抽獎游戲?qū)崿F(xiàn)方法

    JS數(shù)字抽獎游戲?qū)崿F(xiàn)方法

    這篇文章主要介紹了JS數(shù)字抽獎游戲?qū)崿F(xiàn)方法,可實現(xiàn)按下回車鍵出現(xiàn)隨機數(shù)字切換的效果,涉及時間與隨機數(shù)的相關操作技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • web網(wǎng)絡安全之跨站腳本攻擊(XSS)詳解

    web網(wǎng)絡安全之跨站腳本攻擊(XSS)詳解

    這篇文章主要介紹了web網(wǎng)絡安全之跨站腳本攻擊(XSS)的相關資料,跨站腳本攻擊XSS是一種常見的Web安全漏洞,攻擊者通過注入惡意腳本誘使用戶執(zhí)行,可能導致竊取敏感信息或執(zhí)行惡意操作,需要的朋友可以參考下
    2025-03-03
  • JavaScript模塊化原理深入分析

    JavaScript模塊化原理深入分析

    JavaScript中的模塊化是指將每個js文件會被認為單獨一個的模塊。模塊之間是互相不可見的。如果一個模塊需要使用另一個模塊,那么需要通過指定語法來引入要使用的模塊,而且只能使用引入模塊所暴露的內(nèi)容
    2022-11-11
  • 關于include標簽導致js路徑找不到的問題分析及解決

    關于include標簽導致js路徑找不到的問題分析及解決

    本文為大家詳細介紹下關于使用jsp:include標簽及<%@ include標簽時要注意的事項以及實測發(fā)現(xiàn)問題并解決問題的全過程,感興趣的各位可以參考下哈,希望對大家有所幫助
    2013-07-07
  • 關于webpack代碼拆分的解析

    關于webpack代碼拆分的解析

    本篇文章主要介紹了關于webpack代碼拆分的解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Vue elementUI實現(xiàn)免密登陸與號碼綁定功能

    Vue elementUI實現(xiàn)免密登陸與號碼綁定功能

    這篇文章主要介紹了Vue elementUI實現(xiàn)免密登陸與號碼綁定功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-11-11

最新評論

滕州市| 文昌市| 新田县| 寿光市| 阿克陶县| 平顶山市| 沁阳市| 平阴县| 阳新县| 泰州市| 深州市| 陕西省| 汕尾市| 玉溪市| 荥阳市| 南靖县| 巴林左旗| 银川市| 陇西县| 滨州市| 宁津县| 治县。| 广东省| 嵊州市| 武山县| 黄大仙区| 滁州市| 康乐县| 海林市| 雷州市| 广灵县| 老河口市| 黄大仙区| 青州市| 南岸区| 青铜峡市| 如皋市| 眉山市| 沿河| 富裕县| 修水县|