JavaScript demo合集(三)——函数对象篇

   欢迎加入前端技术营!如果你也是前端学习者或者对前端有学习的想法,那就跟着我一起从零开始进击前端。
  致力于尽可能详细且简洁的介绍前端知识、自己的捷径,也是学习路上的记录。欢迎探讨



这些demo是在学习途中慢慢积累的一些简单的demo,适用于对照着之前我的JavaScript部分文章使用,适用于初学者,当然有大佬有简洁的算法可以评论区交流

求1~100累加(函数)

function getSum() {
             var sum = 0;
             for (var i = 1; i <= 100; i++) {
                 sum += i;
             }
             console.log(sum);
         }
         getSum();

求任意两数和

function getSum(num1, num2) {
            return num1 + num2;
        }
        console.log(getSum(1, 2));

两数最大值

function getMax(num1, num2) {
            if (num1 > num2) {
                return num1;
            } else {
                return num2;
            }
            // return num1>num2 ? num1 : num2 ;
        }
        console.log(getMax(2, 6));

求任意一个数组中最大值

function getMax1(arr) {
            var max1 = arr[0];
            for (var i = 1; i <= arr.length; i++) {
                if (arr[i] > max1) {
                    max1 = arr[i];
                }
            }
            return max1;
        }
        var re = getMax1([2, 5, 1, 9, 7, 6]);
        console.log(re);

利用函数求任意个数的最大值

function getMax() {
            var max = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
                if (arguments[i] > max) {
                    max = arguments[i];
                }
            }
            return max;
        }
        console.log(getMax(1, 5, 3, 9, 4));

求任意两数之间的和

function getSums(num1, num2) {
            var sum = 0;
            for (var i = num1; i <= num2; i++) {
                sum += i;
            }
            console.log(sum);
        }
        getSums(2, 6);

求数组中所有元素为奇数的平均值

function average(arr) {
            var sum = 0;
            for (var i = 1; i <= arr.length; i++) {
                if (i % 2 != 0) {
                    sum += arr[i];
                }
            }
            return sum / arr.length;
        }
        console.log(average([1, 2, 3, 4, 5, 6]));

判断函数中传入参数是否为质数

function isPrime() {
            var j;
            var i;
            if (i / 1 == 0 && i / i == 0 && i / j != 0) {
                i = true;
            } else {
                i = false;
            }
            return i;
        }
        console.log(isPrime(1));

输入三个不同数字的最大值,弹出结果

var num1 = parseInt(prompt('输入第一个数字')); //parseInt()强制转换字符串类型
        var num2 = parseInt(prompt('输入第二个数字'));
        var num3 = parseInt(prompt('输入第三个数字'));
        var max = 0;
        var str = [num1, num2, num3];

        function getmax(num1, num2, num3) {
            for (var i = 0; i < str.length; i++) {
                if (max < str[i]) {
                    max = str[i];
                }
            }
            return (max);
        }
        var str2 = getmax(num1, num2, num3);
        alert(str2);

在这里插入图片描述

输入年份,输出当年2月份的天数(函数调用)

function backDay() {
            var year = prompt('输入年份:')
            if (isRun(year)) {
                alert('当前年份是闰年,2月份有29天');
            } else {
                alert('当前年份是平年,2月份有28天');
            }
        }
        backDay();
        // 判断闰年,是返回true,否则false
        function isRun(year) {
            var flag = false;
            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                flag = true;
            }
            return flag;
        }
        console.log(isRun(2000));

利用函数封装方式,翻转任意一个数组

function reverse(arr) {
             var newArr = [];
             for (var i = arr.length - 1; i >= 0; i--) {
                 newArr[newArr.length] = arr[i];
             }
             return newArr;
         }
         var arr1 = reverse([9, 7, 6, 3, 2]);
         console.log(arr1);

随机点名

function getRandom(min, max) {
        min = Math.ceil(min);
        max = Math.floor(max);
        return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
        }
        var arr = ['张三','李四','王五','赵六','陈七','周八'];
        console.log(arr[getRandom(0,arr.length-1)]);

冒泡排序 sort()

var arr2 = [5, 2, 72, 15, 9, 32];
        arr2.sort(function (a, b) {
            return a - b; //按升序排列,b-a为降序
        });
        // arr2.sort(); // 实现个位数排序
        console.log(arr2);

删除数组中指定值

var gz = [1500, 1200, 2000, 2100, 1800];
        var newGz = [];
        for (var i = 0; i < gz.length; i++) {
            if (gz[i] < 2000) {
                newGz.push(gz[i]);
            }
        }
        console.log(newGz);

数组去重

function unique(arr1) {
            var newArr1 = [];
            for (var i=0;i<arr1.length;i++) {
                if(newArr1.indexOf(arr1[i]) === -1) {
                    newArr1.push(arr1[i]);
                }
            }
            return newArr1;
        }
        var px = unique(['c','a','z','a','x','a','x','c','b']);
        console.log(px);

获取当前时间

 var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var date1 = date.getDate();
        var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', ]
        var day = date.getDay();
        console.log('今天是:' + year + '年' + month + '月' + date1 + '日' + arr[day]);
        function getTime() {
            var time = new Date();
            var h = time.getHours();
            h = h < 10 ? '0' + h : h;
            var m = time.getMinutes();
            m = m < 10 ? '0' + m : m;
            var s = time.getSeconds();
            s = s < 10 ? '0' + s : s;
            return h + ':' + m + ':' + s ;
        }
        console.log(getTime());

倒计时

function conutDown(time) {
            var nowTime = +new Date();
            var inTime = +new Date(time);
            var times = (inTime - nowTime) / 1000;
            var d = parseInt(times / 60 / 60 / 24);
            d = d < 10 ? '0' + d : d;
            var h = parseInt(times / 60 / 60 % 24);
            h = h < 10 ? '0' + h : h;
            var m = parseInt(times / 60 % 60);
            m = m < 10 ? '0' + m : m;
            var s = parseInt(times % 60);
            s = s < 10 ? '0' + s : s;
            return '距开始还有:' + d + '天' + h + '小时' + m + '分钟' + s + '秒';
        }
        var date = new Date();
        console.log(date);
        console.log(conutDown('2021-11-11 00:00:00'));

猜数字

function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
        }
        var random = getRandom(1, 50);
        for (var i = 1; i <= 10; i++) {
            var num = prompt('我在1~50之间,猜猜看我是几:')
            if (num > random) {
                alert('你猜大了');
            } else if (num < random) {
                alert('你猜小了');
            } else {
                alert('猜对了,真帅!');
                break;
            }
        }
        alert('十次都猜不对,别猜了');

计算年龄

        var input = prompt('输入你的出生年份:');
        var date = new Date();
        alert('你今年' + (date.getFullYear() - input) + '岁了');

判断字符串中出现次数最多的字符及次数

var str12 = 'abcoefoxyozzopp';
        var o = {};
        for (var i = 0;i<str12.length;i++) {
            var chars = str12.charAt(i);
            if (o[chars]) {
                o[chars]++;
            } else {
                o[chars] = 1;
            }
        }
        console.log(o);
        var max = 0;
        var ch='';
        for (var k in o) {
            //k得到的是属性名,o[k]得到的是属性值
            if (o[k] > max) {
                max = o[k];
                ch = k;
            }
        }
        console.log(max);
        console.log(ch);

本期到这里就结束了,感谢阅读!有问题留言,及时回复


  • 点赞加关注,持续更新实用技巧、热门资源、软件教程等
  • 有任何 软件 影视 教程资源 考证资料等需求留言即可
  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值