AI编程助手
AI免费问答

介绍JS入门小案例

jacklove   2018-06-15 15:23   1654浏览 原创

计算第几天?

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 <pre class="brush:js;toolbar:false;"> //弹出年、月、日输入框,声明年鱼儿,并赋值
    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> 2){
            sum=sum1 + d +1;
            document.write("该天为一年中的第"+sum+"天");
        }else{
            sum=sum1+d;
            document.write("该天为一年中的第"+sum+"天");
        }</m-1>

利用时间函数进行计算

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 <h3 style="text-align: left;">判断素数</h3><pre class="brush:js;toolbar:false;">var prime = function(len){
    var i,j;
    var arr = [];  for(i = 1; i <h3 style="text-align: left;">js斐波那契数列求和</h3><h4 style="text-align: left;">递归算法</h4><p style="text-align: left;">时间复杂度为O(2^n),空间复杂度为O(n)</p><pre class="brush:js;toolbar:false;"> function recurFib(n) {
  if (n <h4 style="text-align: left;">动态规划</h4><p style="text-align: left;">时间复杂度为O(n),空间复杂度为O(n)</p><pre class="brush:js;toolbar:false;">  function dynFib(n) {     var res = [1,1];  
    if (n == 1 || n == 2) {      return 1;
    }      for (var i = 2; i <h4 style="text-align: left;">迭代法</h4><p style="text-align: left;">时间复杂度为O(n),空间复杂度为O(1)</p><pre class="brush:js;toolbar:false;"> function iterFib(n){
  var last=1;  var nextlast=1;  var result=1;  for(var i=2;i<n><h4 style="text-align: left;">质数</h4>
<pre class="brush:js;toolbar:false">function foo(n){  
  var a=[],state=0;  
  for(var i=2;i<n foo><p>本文讲解了js入门小案例,更多相关内容请关注php中文网。</p>
<p>相关推荐:</p>
<p><a href="http://www.php.cn/js-tutorial-403887.html" target="_blank">通过js实现流程动态显示</a><br></p>
<p><a href="http://www.php.cn/js-tutorial-403880.html" target="_blank">particlesJS使用简介相关内容</a><br></p>
<p><a href="http://www.php.cn/js-tutorial-403873.html" target="_blank">JS中运算符i++与++i的详细分析</a><br></p></n>
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。