函數:
函數在調用的時候,會形成一個私有作用域,內部的變量不會被外面訪問,這種保護機制叫閉包。這就意味著函數調用完畢,這個函數形成的棧內存會被銷毀。
函數歸屬誰跟它在哪調用沒有關系,跟在哪定義有關。
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.字符串prototype上的方法
(1)?charAt() ?返回在指定位置的字符 ??var s=st.charAt(2)
(2)?Concat() ?鏈接兩個或多個字符串,并返回新的var s=st.concat(sd,"hello wolrd");
?
(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,”張三”]
?
基本的方法
?
1.Push() 在數組的結尾處添加一個新元素。返回值是數組長度
2.unshift()在開始處填加一個新元素。返回值是數組長度
3.pop() 刪除數組中的最后一個元素。返回的是刪除的那個元素
4.shift() ?刪除數組中的第一個元素。返回的是刪除的那個元素
5.slice() 截取數組中的一部分,并返回新的數組。對原來的數組沒有影響
6.splice() 在數組中添加或刪除元素。
7.sort() 給數組中的元素排序
?
8.reverse() 反轉數組中元素的順序
?
9.toString() 將數組轉換成字符串格式的數組,并返回結果
10.concat() ?合并多個數組,并返回新的值
11.indexOf() ??檢索數組中的元素,并返回他所在的位置,沒有就是-1
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?