js學習階段總結

typeof操做符:返回字符串,多是「undefined」,「boolean」,「 string」,「number」,「object」,「function」中的一種,因此不能判斷數組。
NaN(Not a Number):用法NaN(val)若是val能被轉化成一個數就返回false,不然返回true。
parseInt(val,way)其中way能夠是2,4...就是要按照這個進制來轉化,返回number類型,num.toString(way)同理,只不過返回string類型。
object類型有一個hasOwnProperty(name)來判斷當前對象是在實例中仍是原型中。
每一個函數都有個arguments屬性對象來記錄它的參數,至關於一個參數的數組,用argumentscallee能夠遞歸。
unshift方法能夠從前端向數組推入兩個元素並返回長度,用unshift和pop能夠反向模擬隊列。
sort(compare),其中compare(val1,val2)方法當val1在val2前面返回-1,後面返回,0好像是不變。
對數組操做用splice函數,splice(a1,a2,a3......)a1,a2必填a1表示起始位置,a2表示要刪除的項數,後面的參數表示從該位置要插入的新值。
indexOf返回一個val在數組中的位置,lastindexOf()從後面開始數。
數組的迭代方法:every()每一個值都返回true才返回true,filter()返回全部返回true元素的數組,forEach()只是運行函數,沒有返回,map()返回函數調用結果組成的數組,some()與every相對,如有一個返回ture則返回true。
舉例:var everyRes = number.every(function(item,index,array){return item>2 ;}) ;//item,index,array三個參數是必填的。
數組的歸併:reduce和reduceRight(),舉例:var sum = values.reduce(function(prev,cur,index,array){return prev+cur;}) ;prev表明前一個,cur表明後一個。
Date類型:var date = new Date(Date.parse("May 25,2004")); var date = new Date(Date.UTC(2015,4,5,17,55,50));
call和apply區別第一個是this(上下文對象)。
var obj =eval("("+data+")")來轉化json,JSON.parse(data)也能夠,二者的區別是eval至關因而把內容當作js來解析,而parse是隻轉化成obj對象。
與JSON.parse對應的是JSON.stringify方法,來把obj變成json
判讀一個對象是否是數組:Object.prototype.toString.call(o) == '[object Array]' ;
如何用用continue跳出兩層循環(對break也適用):php

var num = 0 ;
outer:
for(var i=0;i<10;i++)
    for(var j=0;j<10;j++)
         {
                if(i==5&&j==5)
                {
                        continue outermost ;
                 }
                  num++ ;
            }
alert(num);//95

with語句:前端

var obj = {
        search : "st" ,
        name : "lala",
        url : "www.123.com"
} ;
with(pbj){
    var a = search ;
    var b = name ;
    var c = url ;
}

 用Object.defineProperty(obj,"key",{
  configurable:true,
     value:"value"
});這樣能夠讓對象的屬性只讀。
 
用Object.defineProperties能夠一次添加多個屬性json

Object.defineProperties(book,{
    _year:{
                value:2004
     },

    edition:{
                value:1
     },
 
     year:{
                get:function(){
                       return this._year ;
                 }
                 set:function(newValue){
                         if(newValue>2004)
                           {
                                  this._year = newValue ;
                                  edition++ ;
                            }
                  }
                }
       }
}) ;

 
轉載於猿2048:→《js學習階段總結》數組

相關文章
相關標籤/搜索