Javascript 基礎經常使用對象介紹

數組 類型( 棧  &&  隊列 )javascript

1)var arr = new Array();括號中的長度能夠不指定,緣由就是js中的數組長度是能夠動態改變的java

2)相似於java中的list容器,長度可變(arr.length=num),元素類型任意。json

3)arr.push( obj , obj , ..... ) ; 經過 push 能夠往數組中添加任意多個元素; 相似棧中添加元素數組

4)arr.pop( ) ; 經過pop能夠刪除數組中最頂端的元素。相似棧中的刪除元素瀏覽器

5)arr.unshift(obj , obj ,.. ) ;經過unshift能夠往數組中添加任意多個元素,相似隊列添加元素
安全

6)arr.shift( ) ; 經過shift能夠刪除數組中最低端的元素。相似隊列中刪除元素dom

7)arr.splice(num1 , num2 , num3,..);num1表示數組起始位置,num2表示截取的個數(從數組中刪除),num3以及後面的全部元素表示要添加到數組中做爲新元素,最後就是數組既刪除了元素同時又添加了新元素。函數

8)arr = arr.slice(num1 , num2 );左閉右關,表示從數組中獲取從第二個到第四個元素返回加密

9)splice 操做數組自己,slice不操做數組自己,因此slice是不會改變原數組對象的。url

10)arr = arr.concat( arr2 ); 數組元素合併,不操做數組自己,其返回元素爲操做結果

11)arr = arr.join(‘ - ’);在每一個元素之間加入參數內容,不操做數組自己

12)arr.sort( );對數組元素進行排序,默認是AES,內部比較規則是把元素轉爲字符串在比較。自定義比較規則是自定義函數,而且把函數的對象做爲參數傳入sort(fun);以下 function fun(obj1 ,  obj2){ return 1 ; return 0 ; return -1}.

13)arr.reverse( );對數組元素進行轉置。

14)var value = arr.indexOf( index ) ; var value = arr.indexOf(start , index ) 相似於 arr[index]

15)arr.lastIndexOf( index ) ; 與上面相同

16)arr.reduce(function(pre , cur , 【index , arr】 ){ }); 數組疊加,這個方法仍是很簡單使用的。

17)arr.reduceRight(function(pre , cur ,【 index , arr】 ){ }); 數組反向疊加,因此有了上面的方法這個方法基本沒什麼意義。

18)5種迭代數組的方法 funName(function(iteam , index ){});

every : 對於數組每個元素進行一個函數的運行,若是函數運行有一次爲false,則爲false,不然爲true

some : 對於數組每個元素進行一個函數的運行,若是函數運行有一次爲true,則爲true,不然爲false

filter  : 對於數組每個元素進行一個函數的運行,該函數執行過濾,把過濾後的結果返回。return true ;的保留
forEach:遍歷數組中的每個值,而且對該值進行(函數)處理。就是遍歷對象,他並不返回結果值,除非使用引用型對象改變值。
map   : 遍歷數組中的每個值,而且對該值進行(函數)處理,同時返回處理後的結果,他與filter的差別在於filter只返回知足過濾條件的值,而map則返回對每個值處理後的結果,那麼數組長度是不會發生改變的,而filter是會發生改變的。return iteam。

19)數組轉對象,對象轉數組,本身編寫轉換方法,實際上就是利用js特性,把數組中重複的值去掉。


Object 類型(相似java的 Object)

1)全部類的基礎類,var obj = { } ;=  new Object();(最好不要省掉小括號,格式要求)

2)自定義屬性和方法,直接obj.name = ""; obj['sex'] = "" ;  obj.fun= function(){};

3)刪除屬性和方法 ,  delete obj.name ; delete obj.fun;delete obj[name] ; 注意刪除方法不須要括號

4)遍歷js對象,for in 語法;for(var attribute in object){object[attribute] + attribute}

5)Object對象必定具備的方法:

1 obj . constructor ;  構造函數 ;不能用括號,由於括號表示獲取函數的返回值,而不是調用函數自己對象

2 obj . hasOwnProperty('propertyName') ; 對象是否擁有屬性

3 obj . isProtoTypeOf(obj2) ; 檢測原型

4 obj . propertyIsEnumerable('propertyName') ; 檢測屬性是否能被枚舉

5 obj . toLocaleString() 與本地語言有關的字符串表示

6 obj . toString() ; 對象轉爲字符串

7 obj . valueOf() ; 字符串表示對象 ,toLocalString()方法常常也會返回與toString()和valueOf()方法相同的值

6)重寫 Object中的方法,只要 obj.funName = function(){  } ; 就是重寫。


其餘引用類型對象:

單體對象:不須要實例化對象就能使用對象 ;Global  Math

Global對象

1)Global:無形的,全局的,終極的,最頂端的, 不存在的對象 。由於不存在因此是不能夠實例化的,也就是不能用new,使用它時直接調用他的方法便可。Global 對象從不直接使用,而且不能用 new 運算符建立。它在 Scripting 引擎被初始化時建立,並當即使其方法和屬性可用。

2)encodeURI(str);encodeURIComponent(str);以及對應的方法 decodeURI(str);decodeURIComponent(str);注意通常使用後二者,緣由是前者只對url中的空格處理,然後者還會處理不少字符

3)eval(str),最厲害的方法,無形的javascript解析器;把一些字符串轉爲javascript中的腳本或對象。這個方法通常狀況下是不會使用的,緣由就是安全性,由於任何字符串代碼都會被執行,除非你知道這個代碼沒有問題執行,使用這個方法注意三點:

A:eval(str);其中str必定是String類型,而不是Object類型,意思是傳人的參數只能是原生的string類型,不然eval不作任何處理就把這個object返回給調用者。

B:eval(‘(’+objStr+')');這個方法的目的就是把一個字符串轉爲一個對象類型,這種格式是固定的,使用括號就是代碼塊的緣由。objStr="{name:'dff',sex:'man'}" ;  json對象

C:eval(‘ 5+10 ’);這種形式就是使用javascript解析執行str中的js代碼,而後把結果返回,若是沒有返回值則爲undefiend。

4)parseInt(str);parseFloat(str);類型轉換

5)escape(str) ; unescape(str); 加密;解密,這個與上面的encodeURI差很少,因此也沒什麼價值。

6)isNaN(obj);若是obj可以轉爲Numner類型則返回false,不然返回true;

7 ) isFinite( obj ) ; 判斷對象是不是無限的。

Math對象

1)Math.funName(); 數學的基本運算

2)Math.random() ; 隨機數的生成。返回一個0.0 和 1.0之間的一個僞隨機數。

Date對象

1)var date = new Date();

2 ) var year = date.getFullYear();不要使用date.getYear();緣由就是瀏覽器對這個方法處理不同

3)如何把javascript中的date轉爲本身想要的格式,就是經過getXXX獲取年月日時分秒,而後拼接字符串

4)getTime();經過這個時間差獲取函數執行時間。

基本包裝類型

1)Boolean String Number

相關文章
相關標籤/搜索