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