關於Math、陣列、Date的相關例子
math,陣列和date在學習中常會遇到,本篇將會對其進行解說。
寫一個函數,傳回從min到max之間的隨機整數,包括min不包括max
function getRandom (min,max) { return Math.floor(Math.random()*(max-min) + min) }//Math.floor 返回小于参数值的最大整数//Math.random 返回[0,1)之间的随机数
寫一個函數,傳回從min都max之間的隨機整數,包括min包括max
function getRandom (min,max) { return Math.floor(Math.random()*(max-min+1) + min) }
寫一個函數,產生一個長度為n 的隨機字串,字串字元的取值範圍包括0到9,a到z,A到Z
function getRandomStr (n) { var dict = '0123456789'+ 'abcdefghijklnmopqrstuvwxyz'+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; //一个字典; var string = ''; for (i=0; i<n; i++) { string += dict[Math.floor(Math.random()*62)] ; } return string ; }
寫一個函數,產生一個隨機IP 位址,一個合法的IP 位址為0.0.0.0~255.255.255.255
function getRandIP(){ var ipArr = []; for (i=0; i<4; i++) { ipArr.push(Math.floor(Math.random()*256)); //push()方法把元素从尾部放进数组; } return ipArr.join('.'); }var ip = getRandIP()console.log(ip)
寫一個函數,產生一個隨機顏色字串,合法的顏色為#000000~ #ffffff
function getColor () { var dict = '0123456789abcdef' var color = '#'; for (i=0; i<6; i++) { color += dict[Math.floor(Math.random()*16)]; } return color; } getColor() ;
陣列方法裡push、pop、shift、unshift、join、splice分別是什麼作用?用splice函數分別實作push、pop、shift、unshift方法
push()方法可以把一個元素從尾部插入數組,改變原始數組長度和索引;
var a =[] ;
a.push(4);
a ; // [4]
#pop()方法可以刪除並傳回陣列的最後一個元素,改變原始陣列長度和索引;
var a =[1,2] ;
a.pop(); // 2a ; // [1]
shift()方法可以把陣列的第一個元素從其中刪除,並傳回第一個元素的值,改變原始數組長度和索引;
var a=[1,2,3,4];
a.shift (); //1;a; //[2,3,4]
unshift()方法可在陣列的開頭新增一個或更多元素,並傳回新的長度,改變原始數組長度與索引;
var a=[1,2,3,4,5];
a.unshift(7,8); //7a; //[7,8, 1,2,3,4,5]
splice()方法可以向/從數組添加/刪除項目,然後返回被刪除的項目,沒有刪除則返回空數組,改變原陣列長度與索引;
var a=[1,2,3];
a.splice(0,1); //[1]; //從第0位元開始,刪除1位;a; //[2,3]
var a=[1,2,3];
a.splice(0,0,7,8); //[];從第0位開始,刪除0位,插入7,8(從前插入);a; //[7,8,1,2,3];
var a=[1,2,3,4];
a.splice(1,1,7,8); //[2];從第1位開始,刪除1位([2]),並插入7,8;a; //[1,7,8 ,3,4];
用splice()可以實作push()、pop()、shift()、unshift()這些方法;
var a =[1 ,2,3,4,5,6];
a.splice(a.length,0,n) // 實作push(),n為想要傳入的元素;a.splice(a.length -1,1)// 實作pop();a.splice(0,1) // 實作shift();a.splice(0,0,n) // 實作unshift(),n為想要傳入的元素;
寫一個函數,操作數組,數組中的每一項變成原來的平方,在原始數組上操作
function squareArr(arr){ for (i=0; i<arr.length; i++) { arr[i] = arr[i]*arr[i]; } return arr; }var arr = [2, 4, 6] squareArr(arr)console.log(arr) // [4,16,36]
寫一個函數,操作數組,返回一個新數組,新數組只包含正數,原始數組不變
function filterPositive(arr){ var newArr = []; var k = 0; for (i=0; i<arr.length; i++) { if (typeof arr[i] === 'number') { //验证是否为数字 if(arr[i]>0) { newArr[k] = arr[i]; k++; } } } return newArr; }var arr = [3, -1, 2, '饥人谷', true]var newArr = filterPositive(arr)console.log(newArr) //[3, 2]console.log(arr) //[3, -1, 2, '饥人谷', true]
寫一個函數getChIntv,取得從當前時間到指定日期的間隔時間
//示例var str = getChIntv("2017-02-08");console.log(str); // 距除夕还有 20 天 15 小时 20 分 10 秒 function getChIntv(date) { var time = Math.abs(Date.now()-Date.parse(date)); var day = Math.floor(time/86400000); var hour = Math.floor(time%86400000/3600000); var min = Math.floor(time%86400000%3600000/60000) var s = Math.floor(time%86400000%3600000%60000/1000) var ms = (time%86400000%3600000%60000%1000); return '距离'+date+': '+day+' 天 '+hour+' 小时 '+min+' 分钟 '+s+' 秒 '+ms+' 毫秒 '} getChIntv('2017-04-08') //距离2017-04-08: 55 天 4 小时 0 分钟 45 秒 774 毫秒;
把hh-mm- dd格式數字日期改為中文日期
//示例var str = getChsDate('2015-01-08');console.log(str); // 二零一五年一月八日 var dict ={0:'零',1:'一',2:'二',3:'三',4:'四',5:'五',6:'六',7:'七',8:'八',9:'九', 10:'十',11:'十一',12:'十二',13:'十三',14:'十四',15:'十五',16:'十六', 17:'十七',18:'十八',19:'十九',20:'二十',21:'二十一',22:'二十二',23:'二十三', 24:'二十四',25:'二十五',26:'二十六',27:'二十七',28:'二十八',29:'二十九',30:'三十',31:'三十一'} function getCHT (date) { time = date.split('-'); year = time[0].split(''); for (i=0; i<year.length; i++) { year[i] = dict[year[i]]; } month = dict[parseInt(time[1])]; day = dict[parseInt(time[2])]; return year.join('')+' 年 '+month+' 月 '+day+' 日'} getCHT('2017-06-01') // 二零一七年六月一日;
寫一個函數,參數為時間物件毫秒數的字串格式,傳回值為字串。假設參數為時間物件毫秒數t,根據t的時間分別傳回如下字串:
剛剛( t 距當前時間不到1分鐘時間間隔)
3分鐘前(t距當前時間大於等於1分鐘,小於1小時)
8小時前(t 距離當前時間大於等於1小時,小於24小時)
3天前(t 距離當前時間大於等於24小時,小於30天)
2個月前(t 距離當前時間大於等於30天小於12個月)
8年前(t 距離當前時間大於等於12個月)
//示例function friendlyDate(time){ }var str = friendlyDate( '1484286699422' ) // 1分钟前var str2 = friendlyDate('1483941245793') //4天前 function friendlyDate(time){ var nowT = Date.now(); //Date.now()获取当前时间距离1970年1月1日00:00:00的毫秒数 pastT = nowT-time; if (pastT<=60*1000) { return '刚刚' }if (pastT>60000 && pastT<3600*1000) { return Math.floor(pastT/60000)+'分钟前' }if (pastT>=3600*1000 && pastT<24*3600*1000) { return Math.floor(pastT/(3600*1000))+'小时前' }if (pastT>=24*3600*1000 && pastT<30*24*3600*1000) { return Math.floor(pastT/(24*3600*1000))+'天前' }if (pastT>=30*24*3600*1000 && pastT<12*30*24*3600*1000) { return Math.floor(pastT/(30*24*3600*1000))+'月前' }else { return Math.floor(pastT/(360*24*3600*1000))+'年前' } } friendlyDate(1496246400000) //一天前;
本篇詳解math、陣列和date相關內容和例子,更多的相關內容請關注php中文網。
相關推薦:
#JavaScript完整總結之定時器&DOM的document
#
以上是關於Math、陣列、Date的相關例子的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。
