js中數組Array和字符串String的屬性方法歸納總結

1、數組創建:
       new Array(5)-->創建有5個元素的數組;
       new Array()-->創建空數組;
       
new Array("a","b","b")-->創建有3個元素,分別爲abc的數組; 
       []
-->創建空數組;
        [
"a","b","b"]-->創建有3個元素,分別爲abc的數組;
注意:new Array(5); 爲創建一個有五個元素的數組;
new Array(5,3); 爲創建一個有兩個元素的數組,且內容爲5和3
2、數組的方法:
      
arr1.concat(arr2)  -->   concat()連接數組1和數組2返回連接後得新數組;
      
arr.join(".")  -->   join()以它的參數字符串符號來連接數組的元素,返回連接後得字符串;
      
arr.slice(start,end) -->slice(1,5) 獲取數值之間的arr元素,返回一個新的數組,1(包括)爲初始元素,5爲結束元素(不                                 包括),本例獲取的是arr的第2,3,4,5個元素,不包括第6個元素,若沒給第2個參數則返回包括1在內的後面所有元 素,若只有一個參數並且       爲負數的話,返回的是從數組尾部截取這個負數;
      arr.push(ele1,ele2..),arr
數組的末尾添加一個或多個元素,並返回新的長度
      arr.unshift((ele1,ele2..),arr數組的開頭添加一個或更多元素,並返回新的長度
      arr.pop(),從arr中移除最後一個元素,並且返回它刪除的元素(最後一個)的值。如果aar已經爲空,則 pop() 不改變數組,並返回 undefined 值。
      arr.shift(),從arr中移除第一個元素,並且返回它刪除的元素(第一個)的值。如果aar已經爲空,則 pop() 不改變數組,並返回 undefined 
      arr.reverse(),顛倒數組中元素的順序.
     arr.
splice(index,length,newItem1,newItem2,......) ,方法向/從數組中添加/刪除項目,然後返回被修改後得到的新數組。index爲指定的要移除或添       加的位置處,可爲負值,負值的話是從後1開始計算不是0,length爲刪除包括index在內的後面幾個數組元素,newItem爲在刪除處添加的新數組元素,       可選項;
     arr.valueOf() ,返回數組相同的元素組成的新數組;
     [1,2,3]===[1,2,3]返回false, 
[1,2,3]==[1,2,3]返回false, 因爲數組也是引用類型,不是基本(值)類型,相同的數組體卻是不同        的對象,一個是放在棧裏,一個是放在堆裏
     
arr.indexOf(item,(可選start))返回數組的的索引值,item爲數組的元素,start表示從數組的哪個位置開始向後查找,沒有找    到,則返回-1 
     
arr.lastIndexof(item,(可選start))從數組的後面開始查找返回數組的的索引值,item爲數組的元素,start表示從數組的哪個位置開始    向前查找,沒有找到,則返回-1 
     數組的屬性:
     arr.constructor返回arr的構造函數---function Array(){native code};
     arr.length返回數組的長度;
     
Array.prototype數組原型,可以向Array原型鏈添加屬性或方法。 
     arr.forEach(function(value,index){});數據遍歷,不返回
     arr.map(function(value,index){});數據遍歷,返回新的數組
3、字符串
    字符串屬性同數組;
    
str.charAt(index)返回str索引爲index數值的單個字符,index爲空則默認爲0,沒有找到返回空字符串;
    str.charCodeAt(
index)返回str索引爲index數值的單個字符的unicode(統一碼),index爲空則默認爲0,沒有找到返回NaN;
    
str1.concat(str2)字符串連接,兩個字符串連接用空格隔開,返回新連接的字符串;
    str.
fromCharCode(n1,n2,n3...)返回nx(unicode)所對應的單個字符,多個則連續轉換對應字符,沒轉換成功把對應的統一碼轉換成   空字符串;
    
str.indexOf(str1)返回子字符串str1在查找字符串str中第一次出現的位置,沒有找到則返回-1,; 
    
str1.localeCompare(str2)判定兩個字符串排序,如果str1排在str2,之前那麼返回-1,之後返回1,相等返回0;
    str.match(regexp)在str中匹配正則,以數組形式返回匹配到的字符串;還可以 (正則表達式).test(字符串) 進行匹配
    str.
replace(old,new) 在字符串str中查找old字符串(可以是正則),用new字符串來替換;返回替換後的新字符串;
    
str.search(str1) 在字符串str中查找str1,返回第一次出現str1的位置,沒有找到返回-1;
    str.
slice(start,end(可選))  返回start和end數值下標之間的字符串.end爲空返回start後全部字符串;
    
str.split(" ")把str用split方法中的符號爲間隔切割字符串返回一個數組;
    
str.substr(start,length(可選))返回以start下標開始以length爲長度之間的字符串,若length爲空,則返回下標後得全部字符  串;
    
str.substring(start,end)一個參數的話返回下標後所有字符串,兩個參數的話,以小的爲開始以大的爲結束,返回量下標之間的字符   串 ;
    str.toString()str或obj返回字符串對象;
    str.trim()除去str兩端的空格,返回去空格的字符串,不支持IE8及前面版本; 
    
str.valueOf() 返回str原始值;
    
str.toUpperCase()把str字母全部轉成大寫;
    
str.toLowerCase()把str字母全部轉成小寫; 
    str.
toLocaleUpperCase()以本地方式把str字母全部轉換成大寫;
    str.toLocaleLowerCase()以本地方式把str字母全部轉換成小寫; 
4、函數名與變量名相同的話,函數聲明可以覆蓋未賦值的變量,但不能覆蓋已賦值的變量, 調用該與變量名相同的函數會報錯;arguments[i]可以改變函數傳進來的形參(局部變量);(function(){alert(this)}).call(null/undefined)//this爲window;任何全局變量都爲window對象的屬性,在判斷一個未聲明的變量時會輸出undefined,IE會報錯,在判斷一個對象未聲明的屬性時都會輸出undefined,變量聲明會被提升,但賦值不會被提升;
5、操作符的二義性,[  ]  創建數組,屬性或數組下標讀取寸;{ }對象聲明,函數直接量聲明,複合語句,結構語句限定如winth(){},swith(){},try{}catch()      {};, 連續運算符,數組或json元素分割符,函數形參分隔符;+字符串連接符,數值運算符,增值運算符;()函數執行運算符,優先級強制運算符,參數聲明;;空語句;:冒號,標籤聲明,三目中條件爲false的表達式分支,對象成員聲明,switch分支;
6、比較:
     空字符串與數字比較,空字符串會轉換爲0,false轉換爲0,,true轉換爲1,true>false;兩個引用類型是不相等的比較總是返回false;數     字對象引用類型比較由數字對象的值決定,兩個字符串比較時,會使用字符串的localeCompare()方法進行比較,字符串爲數字類型字符串時與數字比較, 將轉換成數字比較,將字符串轉換得到的是NaN時怎麼比較都爲false,NaN不等於它本身;undefined會轉換爲false,空字符 串爲false;Null爲false;null==null爲true;null===undefined爲false;null==undefined爲true;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章