首頁  >  文章  >  web前端  >  js 的引用型

js 的引用型

不言
不言原創
2018-04-26 14:37:241153瀏覽

這次的這篇文章向大家分享的內容是關於js的引用類型,有需要的朋友們可以看看

#引用類型的值(物件)是引用類型的一個實例,,在js 裡引用類型是一種資料結構,通常被稱為類,es6似乎加了類這個概念,

1:object是一個基礎類,其他所有類型都從object繼承了基本行為,

js在使用typeof 方法時,Array 也是回傳object,可以用isArray()來判斷是不是Array型別

2.Array型別

        改變原陣列的方法即改變原型鏈上的初始陣列

        push():在陣列末端新增陣列元素,傳回新的陣列長度

      陣列的最後一項,返回刪除項目

        shift():刪除陣列第一項,返回刪除項目

        unShift():在陣列前端增加陣列元素,回傳陣列長度

        reverse():反轉陣列順序

        sort():陣列的排序方法,會呼叫陣列每項的toString(),用於比較,所以成了字串的比較,最好傳給其一個比較函數

        例如:

function compare(value1,value2){
   if(value1<value2){
       return -1;
    }else if(value1>value2){
       return 1;
    }else{
       return 0;
    }
}

如果都數值類型的可以傳一個較為簡單的額函數

function compare(value1,value2) {
        return value2-value1;
}


    concat():講接收到的參數加到陣列結尾,回傳新的陣列 

    splice( ):返回刪除項,如果沒有,則返回空數組

    可以利用splice()進行數組的刪除,添加,添加

    刪除:splice(0,2)刪除數組前兩項目

    新增:splice(2,0,"red","green")在Array[2]後插入 "red","green"兩項

    替換:splice(2 ,1,"red")將Array[2]替換成"red"

以上的方法都會改變原始數組

以下的方法不會改變原始數組

    slice(0,2):返回數組前兩項

     數組的迭代方法every(), filter(),forEach(),map(),some()    

    他們的參數都是函數

(item,index,array) =>{
        
 }

#其中every()和some()回傳true or false

filter()傳回滿足傳入函數的陣列元素,

forEach()沒有傳回值,

map()傳回呼叫函數後的陣列

歸併方法:reduce()和reduceRight()

從左到右遍歷數組每一項,redeuceRight()則從右到左

接受兩個參數,一個函數,一個初始值(可選)

例如:

let values=[1,2,3,4]
    let sun=values.reduce((prev,cur,index,arr)=>{
      return prev+cur
    },0)


#function類型

##函數名其實也是指向函數物件的指針,與指向物件的變數名稱沒有什麼不同

改變函數內部的this指向

   call(),apply()和bind()

#其中call 和apply最重要的時擴充函數賴以運行的作用域

例如

window.color="red"
  let o={color:"blue"}
  function sayColor() {
      alert(this.color)
  }
  sayColor.call(this)//red
  sayColor.call(window)//red
  sayColor.call(o)//blue

bind()會建立一個函數的實例,其this值會指向被綁定到傳給bind()函數的值

bind(誰),函數this就指向誰

基本包裝類型

js給string ,num等創造了對應的基本包裝類型,所以才能呼叫一些方法

string方法

charAt( 1):傳回位置」1「的字元

charCodeAt(1):傳回位置」1「的字元編碼

concat()連結字串,不過度使用的是」+「

slice(start,end):截取字串,end不傳,預設到結束位置,參數為負數,轉為(字元長度+負數)

substr(start,length) :截取字串,length不傳,預設到結束,參數為負數轉為(字元長度+負數)

substring(start,afterend):afterend不傳,預設到結束,

負數轉為0,會將較小的數字作為開始位置

trim():刪除字串前後空格

split(",")以”,“分割成數組

split(",",2)取分割後陣列的前兩項

Math 方法

Math.ceil():向上取整

Math .floor():向下取整

Math.round():四捨五入



##/ /說在最後:以上可能不全,大都是我自己印像不太清楚的東西

以上是js 的引用型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn