亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript編程學習技巧匯總

2019-11-20 10:33:10
字體:
來源:轉載
供稿:網友

本文實例為大家分享了JavaScript編程學習技巧,供大家參考,具體內容如下

1、變量轉換

varmyVar="3.14159",str=""+myVar,//tostringint=~~myVar,//tointegerfloat=1*myVar,//tofloatbool=!!myVar,/*toboolean-anystringwithlengthandanynumberexcept0aretrue*/array=[myVar];//toarray

但是轉換日期(new Date(myVar))和正則表達式(new RegExp(myVar))必須使用構造函數,創建正則表達式的時候要使用/pattern/flags這樣的簡化形式。

2、取整同時轉換成數值型

//字符型變量參與運算時,JS會自動將其轉換為數值型(如果無法轉化,變為NaN)'10.567890'|0//結果:10//JS里面的所有數值型都是雙精度浮點數,因此,JS在進行位運算時,會首先將這些數字運算數轉換為整數,然后再執行運算//|是二進制或,x|0永遠等于x;^為異或,同0異1,所以x^0還是永遠等于x;至于~是按位取反,搞了兩次以后值當然是一樣的'10.567890'^0//結果:10-2.23456789|0//結果:-2

3、日期轉數值

//JS本身時間的內部表示形式就是Unix時間戳,以毫秒為單位記錄著當前距離1970年1月1日0點的時間單位vard=+newDate();//1295698416792

4、類數組對象轉數組

vararr=[].slice.call(arguments)下面的實例用的更絕functiontest(){varres=['item1','item2']res=res.concat(Array.prototype.slice.call(arguments))//方法1Array.prototype.push.apply(res,arguments)//方法2}

5、進制之間的轉換

(int).toString(16);//convertsinttohex,eg12=>"C"(int).toString(8);//convertsinttooctal,eg.12=>"14"parseInt(string,16)//convertshextoint,eg."FF"=>255parseInt(string,8)//convertsoctaltoint,eg."20"=>16將一個數組插入另一個數組指定的位置vara=[1,2,3,7,8,9];varb=[4,5,6];varinsertIndex=3;a.splice.apply(a,Array.prototype.concat(insertIndex,0,b));

6、刪除數組元素

vara=[1,2,3,4,5];a.splice(3,1);//a=[1,2,3,5]

大家也許會想為什么要用splice而不用delete,因為用delete將會在數組里留下一個空洞,而且后面的下標也并沒有遞減。
7、判斷是否為IE

varie=/*@cc_on!@*/false;

這樣一句簡單的話就可以判斷是否為ie,太。。。

其實還有更多妙的方法,請看下面

//edithttp://www.lai18.com//貌似是最短的,利用IE不支持標準的ECMAscript中數組末逗號忽略的機制varie=!-[1,];//利用了IE的條件注釋varie=/*@cc_on!@*/false;//還是條件注釋varie//@cc_on=1;//IE不支持垂直制表符varie='v'=='v';//原理同上varie=!+"v1";

學到這個瞬間覺得自己弱爆了。

盡量利用原生方法

要找一組數字中的最大數,我們可能會寫一個循環,例如:

varnumbers=[3,342,23,22,124];varmax=0;for(vari=0;iif(numbers[i]>max){max=numbers[i];}}alert(max);

其實利用原生的方法,可以更簡單實現

varnumbers=[3,342,23,22,124];numbers.sort(function(a,b){returnb-a});alert(numbers[0]);

當然最簡潔的方法便是:

Math.max(12,123,3,2,433,4);//returns433

當前也可以這樣

[xhtml]view plaincopyMath.max.apply(Math,[12,123,3,2,433,4])//取最大值Math.min.apply(Math,[12,123,3,2,433,4])//取最小值

8、生成隨機數

Math.random().toString(16).substring(2);//toString()函數的參數為基底,范圍為2~36。Math.random().toString(36).substring(2);

不用第三方變量交換兩個變量的值

a=[b,b=a][0];

9、事件委派

js代碼如下:

//Classiceventhandlingexample(function(){varresources=document.getElementById('resources');varlinks=resources.getElementsByTagName('a');varall=links.length;for(vari=0;i//Attachalistenertoeachlinklinks[i].addEventListener('click',handler,false);};functionhandler(e){varx=e.target;//Getthelinkthatwasclickedalert(x);e.preventDefault();};})();

利用事件委派可以寫出更加優雅的:

(function(){varresources=document.getElementById('resources');resources.addEventListener('click',handler,false);functionhandler(e){varx=e.target;//getthelinkthaif(x.nodeName.toLowerCase()==='a'){alert('Eventdelegation:'+x);e.preventDefault();}};})();

10、檢測ie版本

var_IE=(function(){varv=3,div=document.createElement('div'),all=div.getElementsByTagName('i');while(div.innerHTML='',all[0]);returnv>4?v:false;}());

javaScript版本檢測

你知道你的瀏覽器支持哪一個版本的Javascript嗎?

varJS_ver=[];(Number.prototype.toFixed)?JS_ver.push("1.5"):false;([].indexOf&&[].forEach)?JS_ver.push("1.6"):false;((function(){try{[a,b]=[0,1];returntrue;}catch(ex){returnfalse;}})())?JS_ver.push("1.7"):false;([].reduce&&[].reduceRight&&JSON)?JS_ver.push("1.8"):false;("".trimLeft)?JS_ver.push("1.8.1"):false;JS_ver.supports=function(){if(arguments[0])return(!!~this.join().indexOf(arguments[0]+",")+",");elsereturn(this[this.length-1]);}alert("LatestJavascriptversionsupported:"+JS_ver.supports());alert("Supportforversion1.7:"+JS_ver.supports("1.7"));

11、判斷屬性是否存在

//BAD:Thiswillcauseanerrorincodewhenfooisundefinedif(foo){doSomething();}//GOOD:Thisdoesn'tcauseanyerrors.However,evenwhen//fooissettoNULLorfalse,theconditionvalidatesastrueif(typeoffoo!="undefined"){doSomething();}//BETTER:Thisdoesn'tcauseanyerrorsandinaddition//valuesNULLorfalsewon'tvalidateastrueif(window.foo){doSomething();}

有的情況下,我們有更深的結構和需要更合適的檢查的時候

//UGLY:wehavetoproofexistenceofevery//objectbeforewecanbesurepropertyactuallyexistsif(window.oFoo&&oFoo.oBar&&oFoo.oBar.baz){doSomething();}

其實最好的檢測一個屬性是否存在的方法為:

if("opera"inwindow){console.log("OPERA");}else{console.log("NOTOPERA");}

12、檢測對象是否為數組

varobj=[];Object.prototype.toString.call(obj)=="[objectArray]";

以上就是本文的全部內容,希望對大家學習javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情精品久久久久久| 亚洲精品自产拍| 亚洲精品久久久一区二区三区| 26uuu国产精品视频| 国产亚洲欧美日韩精品| 成人亚洲激情网| 91av在线视频观看| 97香蕉超级碰碰久久免费软件| 亚洲午夜国产成人av电影男同| 欧美日韩国产第一页| 亚洲精品日韩av| 亚洲精品99久久久久中文字幕| 中国日韩欧美久久久久久久久| 亚洲成人aaa| 日韩中文字幕国产| 亚洲男人天堂手机在线| 亚洲韩国欧洲国产日产av| 亚洲国产精品专区久久| 丰满岳妇乱一区二区三区| 国产日韩综合一区二区性色av| 高清视频欧美一级| 国产精品三级网站| 国产欧美精品一区二区| 日韩欧美中文字幕在线观看| 91久久国产综合久久91精品网站| 疯狂做受xxxx高潮欧美日本| 国产欧美精品一区二区| 国产欧美久久一区二区| 国产一区二区三区在线看| 国产精品一区二区三区毛片淫片| 国内精品小视频在线观看| 久久久久久亚洲精品不卡| 国产视频在线观看一区二区| 亚洲永久在线观看| 91精品国产综合久久香蕉| 日韩免费在线视频| 九九久久综合网站| 国产成人综合av| 91av在线不卡| 国产丝袜高跟一区| 国产精品三级在线| 国产不卡一区二区在线播放| 97精品国产91久久久久久| 国产+人+亚洲| 久久久久久久亚洲精品| 98视频在线噜噜噜国产| 日韩激情片免费| 这里只有精品视频在线| 91精品国产九九九久久久亚洲| 2020欧美日韩在线视频| 国产精品爽爽ⅴa在线观看| 精品爽片免费看久久| 高清视频欧美一级| 久久香蕉国产线看观看网| 日韩av有码在线| 日韩一区二区三区国产| 欧美高清视频在线观看| 亚洲福利视频网站| 欧美一区二区三区精品电影| 97成人超碰免| 日韩av有码在线| 亚洲色图综合久久| 91亚洲精品一区| 日韩欧美中文免费| 成人一区二区电影| 狠狠色狠狠色综合日日五| 亚洲欧美国产高清va在线播| 久久久中文字幕| 最好看的2019的中文字幕视频| 亚洲综合精品伊人久久| 亚洲欧美日韩视频一区| 欧美成人午夜激情在线| 热久久免费视频精品| 久久精品免费电影| 亚洲人成77777在线观看网| 91精品国产精品| 亚洲伊人久久综合| 久久精品亚洲热| 欧美视频免费在线| 亚洲精品国产电影| 久久成人免费视频| 欧美性猛交xxxx久久久| 欧美最近摘花xxxx摘花| 欧美成人剧情片在线观看| 97视频在线观看成人| 91精品国产免费久久久久久| 久久久噜久噜久久综合| 亚洲成人网久久久| 97视频人免费观看| 亚洲国产精品系列| 精品无人区乱码1区2区3区在线| 国产日产亚洲精品| 色午夜这里只有精品| 久久精品99久久香蕉国产色戒| 色偷偷av亚洲男人的天堂| 亚洲欧美日韩国产中文专区| 亚洲色图校园春色| 国产区亚洲区欧美区| 色香阁99久久精品久久久| 亚洲国产精品福利| 亚洲欧美制服第一页| 欧美激情亚洲另类| 国产成人欧美在线观看| 亚洲欧洲国产精品| 国产精品久久久久久久久男| 2019最新中文字幕| 国产精品免费一区二区三区都可以| 久久久久久一区二区三区| 国产精品视频在线播放| 亚洲欧美一区二区三区在线| 亚洲国产日韩欧美在线图片| 亚洲91av视频| 亚洲最大成人在线| 国产精品久久久久久久久久小说| 亚洲天堂精品在线| 中文字幕亚洲无线码a| 精品亚洲一区二区三区在线播放| 日韩成人在线免费观看| 国产成人精品午夜| 亚洲性视频网站| 精品视频中文字幕| 国产精品久久电影观看| 国产精品视频公开费视频| 久久久久久av| 欧美成人激情图片网| 久久久免费精品视频| 欧美激情一区二区三区高清视频| 国产亚洲精品成人av久久ww| 亚洲女同精品视频| 久久国产精品久久久久| 亚洲精品中文字幕有码专区| 91国偷自产一区二区三区的观看方式| 国产精品久久久久久av福利| 久久国产精品亚洲| 欧美日韩免费看| 久久精品国产亚洲7777| www.日韩视频| 国产精品电影网站| 91精品国产自产91精品| 亚洲国产高清福利视频| 国产精品99久久久久久白浆小说| 国产成人精品一区二区| 美女视频久久黄| 国产精品第一页在线| 高清欧美电影在线| 亚洲美女在线视频| 51精品国产黑色丝袜高跟鞋| 国产亚洲一级高清| 欧美日韩在线看| 日韩在线观看免费高清完整版| 91精品国产色综合久久不卡98| 亚洲日本中文字幕| 久久手机精品视频| 一本色道久久88亚洲综合88| 亚洲综合社区网| 激情成人中文字幕| 亚洲综合大片69999| 亚洲精品一区二区网址| 久久精品国产欧美亚洲人人爽| 久久久久久久网站| 成人免费午夜电影| 久久久国产精品视频| 精品久久久一区二区| 国产欧美日韩专区发布|