js學(xué)習(xí)階段總結(jié)(必看篇)
typeof操作符:返回字符串,可能是“undefined”,“boolean”,“ string”,“number”,“object”,“function”中的一種,所以不能判斷數(shù)組。
NaN(Not a Number):用法NaN(val)如果val能被轉(zhuǎn)化成一個(gè)數(shù)就返回false,否則返回true。
parseInt(val,way)其中way可以是2,4...就是要按照這個(gè)進(jìn)制來轉(zhuǎn)化,返回number類型,num.toString(way)同理,只不過返回string類型。
object類型有一個(gè)hasOwnProperty(name)來判斷當(dāng)前對(duì)象是在實(shí)例中還是原型中。
每個(gè)函數(shù)都有個(gè)arguments屬性對(duì)象來記錄它的參數(shù),相當(dāng)于一個(gè)參數(shù)的數(shù)組,用argumentscallee可以遞歸。
unshift方法可以從前端向數(shù)組推入兩個(gè)元素并返回長(zhǎng)度,用unshift和pop可以反向模擬隊(duì)列。
sort(compare),其中compare(val1,val2)方法當(dāng)val1在val2前面返回-1,后面返回,0好像是不變。
對(duì)數(shù)組操作用splice函數(shù),splice(a1,a2,a3......)a1,a2必填a1表示起始位置,a2表示要?jiǎng)h除的項(xiàng)數(shù),后面的參數(shù)表示從該位置要插入的新值。
indexOf返回一個(gè)val在數(shù)組中的位置,lastindexOf()從后面開始數(shù)。
數(shù)組的迭代方法:every()每個(gè)值都返回true才返回true,filter()返回所有返回true元素的數(shù)組,forEach()只是運(yùn)行函數(shù),沒有返回,map()返回函數(shù)調(diào)用結(jié)果組成的數(shù)組,some()與every相對(duì),若有一個(gè)返回ture則返回true。
舉例:var everyRes = number.every(function(item,index,array){return item>2 ;}) ;//item,index,array三個(gè)參數(shù)是必填的。
數(shù)組的歸并:reduce和reduceRight(),舉例:var sum = values.reduce(function(prev,cur,index,array){return prev+cur;}) ;prev代表前一個(gè),cur代表后一個(gè)。
Date類型:var date = new Date(Date.parse("May 25,2004")); var date = new Date(Date.UTC(2015,4,5,17,55,50));
call和apply區(qū)別第一個(gè)是this(上下文對(duì)象)。
var obj =eval("("+data+")")來轉(zhuǎn)化json,JSON.parse(data)也可以,兩者的區(qū)別是eval相當(dāng)于是把內(nèi)容當(dāng)做js來解析,而parse是只轉(zhuǎn)化成obj對(duì)象。
與JSON.parse對(duì)應(yīng)的是JSON.stringify方法,來把obj變成json
判讀一個(gè)對(duì)象是不是數(shù)組:Object.prototype.toString.call(o) == '[object Array]' ;
如何用用continue跳出兩層循環(huán)(對(duì)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.dbjr.com.cn" } ; with(pbj){ var a = search ; var b = name ; var c = url ; }
用
Object.defineProperty(obj,"key",{
configurable:true,
value:"value"
});
這樣可以讓對(duì)象的屬性只讀。
用Object.defineProperties可以一次添加多個(gè)屬性
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++ ; } } } } }) ;
以上就是小編為大家?guī)淼膉s學(xué)習(xí)階段總結(jié)(必看篇)的全部?jī)?nèi)容了,希望大家多多支持腳步之家。
相關(guān)文章
Bootstrap入門書籍之(零)Bootstrap簡(jiǎn)介
Bootstrap是一個(gè)用于快速開發(fā) Web 應(yīng)用程序和網(wǎng)站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。本文給大家介紹Bootstrap入門書籍之(零)Bootstrap簡(jiǎn)介,需要的朋友參考下2016-02-02純JavaScript代碼實(shí)現(xiàn)文本比較工具
之前項(xiàng)目需求需要寫一個(gè)純js文本比較工具,在此小編把代碼分享在腳本之家平臺(tái)供大家參考2016-02-02JS實(shí)現(xiàn)數(shù)組去重,顯示重復(fù)元素及個(gè)數(shù)的方法示例
這篇文章主要介紹了JS實(shí)現(xiàn)數(shù)組去重,顯示重復(fù)元素及個(gè)數(shù)的方法,涉及javascript數(shù)組遍歷、統(tǒng)計(jì)、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01JS生態(tài)系統(tǒng)加速模塊解析賦能性能優(yōu)化探索
這篇文章主要為大家介紹了JS生態(tài)系統(tǒng)加速模塊解析賦能性能優(yōu)化探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01JavaScript Cookie 直接瀏覽網(wǎng)站分網(wǎng)址
2009-12-12javascript中xml操作實(shí)現(xiàn)代碼
好久沒寫了。感覺今時(shí)今日,HTML5 還依然只是一種玩票的東東。但愿 w3c 的標(biāo)準(zhǔn)可以早一點(diǎn)出臺(tái),不要讓各種瀏覽器的兼容問題和支持程度搞死2011-11-11跟我學(xué)習(xí)javascript的定時(shí)器
跟我學(xué)習(xí)javascript的定時(shí)器,告訴大家具體的使用方法,并向大家提出了一個(gè)消息要求,制作一個(gè)定時(shí)器,有沒有朋友感興趣,挑戰(zhàn)一下2015-11-11給所有的超級(jí)練級(jí)都加上onmousemove時(shí)間的js代碼
給所有的超級(jí)練級(jí)都加上onmousemove時(shí)間的js代碼...2007-08-08js事件驅(qū)動(dòng)機(jī)制 瀏覽器兼容處理方法
下面小編就為大家?guī)硪黄猨s事件驅(qū)動(dòng)機(jī)制 瀏覽器兼容處理方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07