計算第幾天?
1,年份算是否是閏年,確認2月份的天數
2,得到每個月的天數,可以放數組裡
3,根據月份得到當前月份的天數
4,依日期加3得到的天數就ok了。
function isLeapYr(yr) { //判断闰年 return (yr % 4 === 0 && yr % 100 !== 0) || (yr % 100 === 0 && yr % 400 === 0); }function count(y, m, d) { var mdays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; var mSum = 0; var sum = 0; //如果是闰年的话,那么2月份就应该有29天 isLeapYr(y) ? mdays[1] = 29 : mdays[1]; //计算该月份之前的总天数,比如m=3,那么就计算1和2月的总天数 for (var i = 0; i < m - 1; i++) { mSum += mdays[i]; } //加上当月天数 sum = mSum + d; return sum; }
//弹出年、月、日输入框,声明年鱼儿,并赋值 var y =parseInt(prompt("请输入你的出生年份")); var m = parseInt(prompt("请输入你的出生月份")); var d =parseInt(prompt("请输入你的出生日期")); //月 //求各月份数字之和 var getMonth=new Array(31,28,31,30,31,30,31,31,30,31,30); var sum1=0,i; for(i=0;i<m-1;i++){ sum1+=getMonth[i] } //年 //判断年是否为闰年,是且大于2月份加一 if(( y%400 ==0||(y % 4 == 0&& y%100 !=0))&& m > 2){ sum=sum1 + d +1; document.write("该天为一年中的第"+sum+"天"); }else{ sum=sum1+d; document.write("该天为一年中的第"+sum+"天"); }
利用時間函數進行計算
var now = new Date();//输入日期以今日为例var NewYearsDay = new Date(now.getFullYear(), 0, 0, 0, 0, 0);//该年第一天console.log((now.getTime()-NewYearsDay.getTime())/86400000>>>0)//算出两者的时间戳之差就是时间差的微秒数 再用时间差除以天的微秒数86400000 取整 就是第几天
var endDate = new Date(y, m-1, d), startDate = new Date(y, 0, 0), days = (endDate - startDate) / 1000 / 60 / 60 / 24; document.write("该天为一年中的第"+ days +"天");
JS實現階乘
//while循环实现function calNum(n) { var product = 1; while(n > 1){//1*5*4*3*2,1*n*(n-1)*(n-2)*...*2 product *= n; n--; } return product; } console.log(calNum(5))
//for循环实现 function calNum(n){ var a = 1, str = '1*'; for (var i = 2; i <= n; i++) { str += i + '*'; a *= i; } str = str.substr(0,str.length-1); return str + '=' +a; } console.log(calNum(5));
判斷素數
var prime = function(len){ var i,j; var arr = []; for(i = 1; i < len; i++){ for(j=2; j < i; j++){ if(i%j === 0) { break; } } if(i <= j && i !=1){ arr.push(i); } } return arr; };console.log(prime(100));
js斐波那契數列求和
遞歸演算法
時間複雜度為O(2^n),空間複雜度為O(n)
function recurFib(n) { if (n < 2) { return n; } else { return recurFib(n-1) + recurFib(n-2); } } alert(recurFib(10));//将显示55
動態規劃
##時間複雜度為O( n),空間複雜度為O(n)function dynFib(n) { var res = [1,1]; if (n == 1 || n == 2) { return 1; } for (var i = 2; i < n; i++) { val[i] = val[i-1] + val[i-2]; } return val[n-1]; } alert(dynFib(10));//将显示55迭代法時間複雜度為O(n),空間複雜度為O(1)
function iterFib(n){ var last=1; var nextlast=1; var result=1; for(var i=2;i<n;i++){ result=last+nextlast; nextlast=last; last=result; } return result; } alert(iterFib(10));//将显示55質數
function foo(n){
var a=[],state=0;
for(var i=2;i<n;i++){
var sqrt_i = Math.sqrt(i);
if(i%sqrt_i===0){
continue;
}
for(var j=2;j<sqrt_i;j++){
if(i%j===0){
state=1;
break;
}else{
state=0;
}
}
if(state===0){
a.push(i);
}
}
console.log(a);
}
foo(100)
本文解釋了JS入門小案例,更多相關內容請關注php中文網。 相關推薦:
#
以上是介紹JS入門小案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安裝,因為它已內置於現代瀏覽器中。你只需文本編輯器和瀏覽器即可開始使用。 1)在瀏覽器環境中,通過標籤嵌入HTML文件中運行。 2)在Node.js環境中,下載並安裝Node.js後,通過命令行運行JavaScript文件。

如何在Quartz中提前發送任務通知在使用Quartz定時器進行任務調度時,任務的執行時間是由cron表達式設定的。現�...

在JavaScript中如何獲取原型鏈上函數的參數在JavaScript編程中,理解和操作原型鏈上的函數參數是常見且重要的任�...

在微信小程序web-view中使用Vue.js動態style位移失效的原因分析在使用Vue.js...

在Tampermonkey中如何對多個鏈接進行並發GET請求並依次判斷返回結果?在Tampermonkey腳本中,我們經常需要對多個鏈...


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

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

Dreamweaver CS6
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

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