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也適用):
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.jb51.net" } ; with(pbj){ var a = search ; var b = name ; var c = url ; }
用
Object.defineProperty(obj,"key",{
configurable:true,
value:"value"
});
這樣可以讓對象的屬性只讀。
用Object.defineProperties可以一次添加多個屬性
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++ ; } } } } }) ;
以上就是小編為大家帶來的js學習階段總結(必看篇)的全部內容了,希望大家多多支持腳步之家。