1. 程式人生 > >js中級第四天

js中級第四天

 

函式:

         函式在呼叫的時候,會形成一個私有作用域,內部的變數不會被外面訪問,這種保護機制叫閉包。這就意味著函式呼叫完畢,這個函式形成的棧記憶體會被銷燬。

但有時候我們不希望他被銷燬

       函式歸屬誰跟它在哪呼叫沒有關係,跟在那定義有關。

 

Fn()呼叫完畢後得到的是一個匿名函式,但是這個函式在fn這個作用域下定義的,所以這個匿名函式內部的變數在fn作用域下查詢。這種寫法可以是函式的變數不被銷燬。

基本object的子類有

     Function   Array   Number  Boolean  String  Date  Math  RegExp

函式   陣列   數字   布林   字串   日期    算數   正則  都是類。本質都是函式。

string類

        定義字串的方法

    var st=new  String (“hello world”)

    簡寫

    var st=“hello world”

1.字串的加號運算  +  僅僅就是拼接   這種方法   叫字串拼接。

2.字串prototypt上的方法

(1)charAt()返回在指定未知的字元   var s=st.charAt(2)

(2)concat()連線兩個或多個字串,並返回新的 vars=st.concat(sd,“hello world”)

(3)indexOf()返回某個字串在字串中首次出現的位置,沒有返回-1。

(4)lastIndexOf()功能和indexOf一樣  不過是從後往前

(5)match()

(6)Search()

(7)Replace()

(8)Slice()擷取字串中一部分

 前閉後開  包含2但不包含7

(9)Split()將字串按某種形式分割成陣列

 

(10)substr()也是擷取和slice有點區別

 

 (11)substring()跟slice一樣

(12)toLowerCase()將字串中的字元都變成小寫

(13)toUpperCase()將字串中的字元都變成大寫

(14)trim()去掉字串兩端的空白

補充

        每一個函式都天然自帶一個return。如果寫return返回什麼就是什麼,如果不寫就是undefined

         類  它的本質也是函式,裡面也有return但預設是object,如果強制return一個值,不會造成影響,如果return是一個物件,就會造成影響。

Array  陣列這個類

       陣列的定義

var  arr=new  Array(“12”,“zhangsan”)

簡寫

var  arr=[12,"zhangsan"]

基本方法

1.Push()在陣列的結尾出鐵甲一個新元素。返回只是陣列長度

 

2.unshift()在開始處填加一個新元素。返回只是陣列長度

3.pop()刪除陣列中的最後一個元素。返回的是刪除的那個元素

4.shift()刪除陣列中的第一個元素。返回的是刪除的那個元素

5.slice()擷取陣列中的一部分,並返回新的陣列。對原來的陣列沒有影響

6.splice()在陣列中新增或刪除元素

從第三個開始向後刪除一個  新增三個新的

7.sort()給陣列中的元素排序

8.reverse()反轉陣列中元素的順序

9.toString()將陣列轉換成字串格式的陣列,並返回結果

 

10.concat()合併多個數組,並返回新的值

11.indexof()檢索陣列中的元素,並返回他所有的位置,沒有就是-1。

陣列經典面試題

         陣列去重