欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

 var person = new Object();

2.Object類型
(1)Object類型對于應(yīng)用程序中存儲和傳輸數(shù)據(jù)來說,是非常理想的選擇。
(2)Object類型實例創(chuàng)建方式:
使用new加Object構(gòu)造函數(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)建方法,由一對花括號開始,前面是變量名,后面是冒號,再是屬性值,可以有多個屬性,但是每個屬性之間必須使用逗號分隔,最后一個屬性一般是不加逗號的。其中屬性名也可以是字符串。如果花括號里面不寫東西,那么只可以定義包含默認(rèn)屬性和方法的對象。

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

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

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

3.Array類型
javascript中的數(shù)組是有序列表,它可以保存任意類型的數(shù)據(jù),這是和其他語言數(shù)組的最大區(qū)別,而且它的數(shù)組的大小是可以動態(tài)調(diào)整的。
(1)創(chuàng)建數(shù)組的基本方式:
使用Array構(gòu)造函數(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è)置數(shù)組的值時,使用方括號和對應(yīng)值基于0的數(shù)字索引。
數(shù)組的長度保存在length屬性中,這個屬性值可以返回0或者更大的數(shù)值??梢酝ㄟ^設(shè)置length屬性的值,從數(shù)組的末尾刪除或者增加新的項。

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

如果將Length屬性設(shè)置為大于數(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ù)組。
當(dāng)調(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()方法可以用不同的分隔符來構(gòu)建這個字符串,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é)構(gòu)中的棧,他的特點就是先進(jìn)后出,而且所有的操作只發(fā)生在棧頂,javascript提供了push()和pop()方法,可以實現(xiàn)類似于棧的行為。
push()可以接收任意數(shù)量的參數(shù),并且逐個添加到數(shù)組的末尾,并返回修改后數(shù)組的長度。
pop()方法可以從數(shù)組末尾移除最后一項,減少數(shù)組的lengthh值,然后返回移除的頂。
(8)隊列方法
隊列的數(shù)據(jù)結(jié)構(gòu)特點是先進(jìn)先出,隊列在列表末端添加項,從列表的前端移除項。
push()可以向數(shù)組的末端添加項,shift()可以移除數(shù)組中的第一個項,并返回該項,數(shù)組長度減1;unshift()可以在數(shù)組前端添加任意個項并返回新數(shù)組的長度。
(9)重排序方法
reverse()會反轉(zhuǎn)數(shù)組的順序
默認(rèn)情況下,sort()按照升序排列數(shù)組項(最小值位于最前面,最大值位于最后面,為了實現(xiàn)排序,sort()方法會調(diào)用每個數(shù)組項的toString()轉(zhuǎn)型方法,然后比較得到的字符串,來確定如何排序)。sort()可以接收一個比較函數(shù)作為參數(shù),比較函數(shù)接收兩個參數(shù),如果第一個參數(shù)應(yīng)該位于第二個之前,返回一個負(fù)數(shù),如果兩個參數(shù)相等則返回0,如果第一個參數(shù)應(yīng)該位于第二個之后返回一個正數(shù)。
reverse()和sort()方法的返回值都是經(jīng)過排序之后的數(shù)組。
(10)操作方法
concat()可以基于當(dāng)前數(shù)組中的所有項創(chuàng)建一個新數(shù)組。
slice()可以基于當(dāng)前數(shù)組中一個或多個項創(chuàng)建一個新數(shù)組,slice()可以接收一個或兩個參數(shù),要返回項的起始和結(jié)束位置,。參數(shù)為一個時,會返回該參數(shù)指定位置開始到當(dāng)前數(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ù)組中的每一項時,會使用全等操作符,要查找的項必須嚴(yán)格相等。
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ù)組的所有項,然后構(gòu)建一個最終返回的值。都接收兩個參數(shù):一個在每一項上調(diào)用函數(shù)和(可選的)作為縮小基礎(chǔ)的初始值。傳給這兩個方法接收4個參數(shù):前一個值,當(dāng)前值,項的索引和數(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript實現(xiàn)時間日期的格式化的方法匯總

    javascript實現(xiàn)時間日期的格式化的方法匯總

    這篇文章主要介紹了javascript實現(xiàn)時間日期的格式化的方法匯總,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • javascript 中select框觸發(fā)事件過程的分析

    javascript 中select框觸發(fā)事件過程的分析

    這篇文章主要介紹了javascript 中select框觸發(fā)事件過程的分析的相關(guān)資料,這里對select 觸發(fā)過程進(jìn)行了深入分析,幫助大家理解這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • JavaScript計時器用法分析【setTimeout和clearTimeout】

    JavaScript計時器用法分析【setTimeout和clearTimeout】

    這篇文章主要介紹了JavaScript計時器用法,結(jié)合實例形式分析了setTimeout和clearTimeout函數(shù)的具體使用技巧,需要的朋友可以參考下
    2017-01-01
  • javascript中Promise使用詳解

    javascript中Promise使用詳解

    這篇文章主要介紹了javascript中Promise使用詳解,關(guān)于Promise的使用相關(guān)的知識點下面文章內(nèi)容介紹詳細(xì)具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • JS實現(xiàn)鼠標(biāo)滑過顯示邊框的菜單效果

    JS實現(xiàn)鼠標(biāo)滑過顯示邊框的菜單效果

    這篇文章主要介紹了JS實現(xiàn)鼠標(biāo)滑過顯示邊框的菜單效果,涉及javascript響應(yīng)鼠標(biāo)事件動態(tài)修改頁面元素的相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09
  • JS將時間秒轉(zhuǎn)換成天小時分鐘秒的字符串

    JS將時間秒轉(zhuǎn)換成天小時分鐘秒的字符串

    最近小編接到這樣的項目需求,接口返回的數(shù)據(jù)中時間單位為秒,但前端顯示的時候需要更人性化的帶有單位(天,小時,分鐘,秒)的字符串;下面小編給大家?guī)韺嵗a,感興趣的朋友跟隨小編一起看看吧
    2019-07-07
  • 如何阻止小程序遮罩層下方圖層滾動

    如何阻止小程序遮罩層下方圖層滾動

    這篇文章主要介紹了如何阻止小程序遮罩層下方圖層滾動,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Bootstrap多級導(dǎo)航欄(級聯(lián)導(dǎo)航)的實現(xiàn)代碼

    Bootstrap多級導(dǎo)航欄(級聯(lián)導(dǎo)航)的實現(xiàn)代碼

    這篇文章主要介紹了Bootstrap多級導(dǎo)航欄的實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • JS中靜態(tài)頁面實現(xiàn)微信分享功能

    JS中靜態(tài)頁面實現(xiàn)微信分享功能

    小編使用ajax實現(xiàn)靜態(tài)頁面也能實現(xiàn)微信分享功能,今天小編給大家分享實現(xiàn)代碼,對js靜態(tài)頁面微信分享功能感興趣的朋友參考下本文
    2017-02-02
  • 鍵盤上下鍵移動選擇table表格行的js代碼

    鍵盤上下鍵移動選擇table表格行的js代碼

    通過鍵盤上的上下鍵可以選擇表格行的實現(xiàn)效果代碼。思路不錯,需要的朋友可以參考下。
    2009-12-12

最新評論