摘要:前言是一門非常靈活的語言,實(shí)際的開發(fā)過程中我們也可以靈活的使用它而給我們的工作帶來便利,這篇文章記錄了自己平時學(xué)習(xí)過程中經(jīng)常用到的一些小技巧,整理出來作為筆記,也希望對感興趣的同學(xué)有所幫助。
前言
1 獲取指定范圍內(nèi)的隨機(jī)數(shù)javascript是一門非常靈活的語言,實(shí)際的開發(fā)過程中我們也可以靈活的使用它而給我們的工作帶來便利,這篇文章記錄了自己平時學(xué)習(xí)過程中經(jīng)常用到的一些小技巧,整理出來作為筆記,也希望對感興趣的同學(xué)有所幫助。
當(dāng)我們需要獲取指定范圍(min,max)內(nèi)的整數(shù)的時候,下面的代碼非常適合。
function getRadomNum(min,max){ return Math.floor(Math.random() * (max - min + 1)) + min; }
測試
function getRadomFromArr(arr){ return arr[Math.floor(Math.random()*arr.length)]; }
測試
var arr=[],length=100,i=1; for(;arr.push(i++)測試
4 打亂數(shù)字?jǐn)?shù)組的順序var arr=[1,2,3,4,5,6,7,"a","dsfs",8,9,"v"]; arr.sort(function(){return Math.random()-0.5});測試
5 對象轉(zhuǎn)換為數(shù)組//注意對象必須是以下格式的才可以通過此方式轉(zhuǎn)化為數(shù)組 //獲取的DOM集合,以及函數(shù)的arguments也可以通過此方式轉(zhuǎn)化為數(shù)組 var obj={ 0:"qian", 1:"long", 2:"chu", 3:"tian", length:4 } var _slice=[].slice; var objArr=_slice.call(obj);測試
6 驗(yàn)證是否為數(shù)組function isArray(obj){
return Object.prototype.toString.call(obj) === "[object Array]" ;}
7 獲取數(shù)組中最大或者最小值
測試function maxAndMin(arr){ return { max:Math.max.apply(null,arr.join(",").split(",")), min:Math.min.apply(null,arr.join(",").split(",")) } }該方法適合一維或者多維數(shù)組求最大最小值的情況
測試
8 清空數(shù)組//方式一 通過將長度設(shè)置為0 var arr=[1,2,3,4,5]; arr.length=0; //方式二 通過splice方法 var arr=[1,2,3,4,5]; arr.splice(0,arr.length); //方式三 通過將空數(shù)組 [] 賦值給數(shù)組(嚴(yán)格意義來說這只是將ary重新賦值為空數(shù)組,之前的數(shù)組如果沒有引用在指向它將等待垃圾回收。) var arr=[1,2,3,4,5]; arr=[];9 保留指定小數(shù)位var num =4.345678; num = num.toFixed(4); // 4.3457 第四位小數(shù)位以四舍五入計(jì)算10 不要直接使用delete來刪除數(shù)組中的元素數(shù)組在js中也是對象,有時候我們可能會通過delete來刪除數(shù)組中的元素,但是其實(shí)僅僅是將數(shù)組的元素的值賦值為了undefined。
var arr=[1,2,3,4,5,"謙龍","雛田"]; delete arr[5]; console.log(arr,arr[5],arr.length);測試
可以通過splice來刪除數(shù)組中的某一項(xiàng)
var arr=[1,2,3,4,5,"謙龍","雛田"]; arr.splice(5,1); console.log(arr,arr[5],arr.length);測試
11 生成指定長度的隨機(jī)字母數(shù)字字符串function getRandomStr(len) { var str = ""; for( ; str.length < len; str += Math.random().toString(36).substr(2)); return str.substr(0, len); }測試
12 null 與 undefinednull == undefined,null == null 返回true,有時候我們?yōu)榱伺懦齨ull 和 undefined可以使用如下的代碼
function test(obj){ if(obj!=null){// obj除了undefined 和 null 之外都會走這里 ....這里寫代碼邏輯 } }13 找出數(shù)組中出現(xiàn)次數(shù)最的元素,并給出其出現(xiàn)過的位置function getMaxAndIndex( arr ){ var obj = {}; arr.forEach(function(item,index){ if(!obj[item]){ obj[item]= {indexs: [index]} }else{ obj[item]["indexs"].push(index); } }); var num=0;//記錄出現(xiàn)次數(shù)最大值 var str="";//記錄出現(xiàn)次數(shù)最多的字符 var reArr;//返回最大值的位置數(shù)組 for(var attr in obj){ var temp=obj[attr]["indexs"]; if(temp.length>num){ num=temp.length; str=attr; reArr=temp; } } return { maxStr:str, indexs:reArr } }測試結(jié)果
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/86178.html
摘要:我打算把一些上使用的高級技巧寫成你不知道的這一系列的博文,希望大家一起學(xué)習(xí)學(xué)習(xí)。然而,這還不是最嚴(yán)重的,因?yàn)榈恼Z法比較寬松和隨意,所以同一功能多種寫法,各種奇葩都有??偨Y(jié)前端在調(diào)試代碼的時候,知道開發(fā)工具上的小技巧,可以提高查找問題的效率。 Web前端開發(fā)過程中必然會用到Chrome瀏覽器自帶的開發(fā)者工具Chrome DevTools,使用它作為Web前端開發(fā)性能調(diào)試的必備工具。就連隔...
摘要:本周于上海閉幕,掘金和知乎上都有對應(yīng)的實(shí)錄和問答,但會議的視頻目前都還沒放出來,有心的同學(xué)如果找到了歡迎分享。建議中英文對照閱讀。英文原文前端獨(dú)立技術(shù)博客推薦推薦一些現(xiàn)在還在堅(jiān)持原創(chuàng)的博主,有業(yè)界大牛,也有小鮮肉,也有國外美女。 CSS 樣式書寫規(guī)范最佳實(shí)踐 本文的所列是實(shí)踐當(dāng)中得出的一套比較不錯的 CSS 書寫規(guī)范,可以結(jié)合自身團(tuán)隊(duì)發(fā)展出一套適合自己業(yè)務(wù)的規(guī)范。 CSS中的字體與排版...
摘要:本周于上海閉幕,掘金和知乎上都有對應(yīng)的實(shí)錄和問答,但會議的視頻目前都還沒放出來,有心的同學(xué)如果找到了歡迎分享。建議中英文對照閱讀。英文原文前端獨(dú)立技術(shù)博客推薦推薦一些現(xiàn)在還在堅(jiān)持原創(chuàng)的博主,有業(yè)界大牛,也有小鮮肉,也有國外美女。 CSS 樣式書寫規(guī)范最佳實(shí)踐 本文的所列是實(shí)踐當(dāng)中得出的一套比較不錯的 CSS 書寫規(guī)范,可以結(jié)合自身團(tuán)隊(duì)發(fā)展出一套適合自己業(yè)務(wù)的規(guī)范。 CSS中的字體與排版...
摘要:本周于上海閉幕,掘金和知乎上都有對應(yīng)的實(shí)錄和問答,但會議的視頻目前都還沒放出來,有心的同學(xué)如果找到了歡迎分享。建議中英文對照閱讀。英文原文前端獨(dú)立技術(shù)博客推薦推薦一些現(xiàn)在還在堅(jiān)持原創(chuàng)的博主,有業(yè)界大牛,也有小鮮肉,也有國外美女。 CSS 樣式書寫規(guī)范最佳實(shí)踐 本文的所列是實(shí)踐當(dāng)中得出的一套比較不錯的 CSS 書寫規(guī)范,可以結(jié)合自身團(tuán)隊(duì)發(fā)展出一套適合自己業(yè)務(wù)的規(guī)范。 CSS中的字體與排版...
摘要:性能測試工具操作測試代碼測試結(jié)果黃條代表每秒可執(zhí)行測試函數(shù)的次數(shù),當(dāng)然越多越快。務(wù)必減少操作,減少無意義的路徑的查找。其他測試測試代碼這些測試代碼來自,官網(wǎng)的例子這是一個空的非循環(huán)測試。正則表達(dá)式測試,數(shù)組的,新建日期,稍微慢了些。 性能測試工具 JSLitmus dom操作 測試代碼 ...
閱讀 1937·2023-04-25 14:28
閱讀 1962·2021-11-19 09:40
閱讀 2884·2021-11-17 09:33
閱讀 1462·2021-11-02 14:48
閱讀 1780·2019-08-29 16:36
閱讀 3411·2019-08-29 16:09
閱讀 2989·2019-08-29 14:17
閱讀 2464·2019-08-29 14:07