函數: 函數在調用的時候,會形成一個私有作用域,內部的變數不會被外面訪問,這種保護機制叫閉包。這就意味著函數調用完畢,這個函數形成的棧記憶體會被銷毀。 但有時候我們不希望他被銷毀。 函數歸屬誰跟它在哪調用沒有關係,跟在哪定義有關。 Fn()調用完畢後得到的是一個匿名函數,但是這個函數在fn這個作用域下 ...
函數:
函數在調用的時候,會形成一個私有作用域,內部的變數不會被外面訪問,這種保護機制叫閉包。這就意味著函數調用完畢,這個函數形成的棧記憶體會被銷毀。
但有時候我們不希望他被銷毀。
函數歸屬誰跟它在哪調用沒有關係,跟在哪定義有關。
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.soncat(sd,"hello world");
3.index Of()返回某個字元串在字元中首次出現的位置,沒有就是-1
4.lastIndex Of() 功能和indexOf一樣 不過是從後往前
5.match()
6.Search()
7.Replace()
8.slice()截取字元串的一部分
9.splice()將字元串按某種形式分割成數組
10.substr()也是截取和slice()有點區別
(1) substring() 跟slice一樣
(2) toLowerCase() 將字元串的中字元都變成小寫
(3) toUpperCase() 將字元串中的字元都變成大寫
(4) 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
12.jion()將數組所有元素轉成一個字元串
//數組去重
var arr=[12,45,12,23,12,23];
var ass=[];
for(var i=0;i<arr.length;i++){
if(ass.indexOf(arr[i])==-1){
ass.push(arr[i])
}
}