js笔记

1、九九乘法表代码

        var str = ''
        for (var i = 1; i <= 9; i++) {
            for (j = 1; j <= i; j++) {
                str += j + '×' + i + '=' + i * j + '\t';
            }
            str += '\n';
        }
        console.log(str);

2、冒泡排序

        var arr = [5, 4, 3, 2, 1];
        for (var i = 0; i < arr.length; i++) {
            for (var j = 0; j <= arr.length - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    var temp;
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        console.log(arr);

3.用函数写的冒泡排序:

        function sort(arr) {
            for (var i = 0; i < arr.length; i++) {
                for (var j = 0; j <= arr.length - i - 1; j++) {
                    if (arr[j] > arr[j + 1]) {
                        var temp;
                        temp = arr[j];
                        arr[j] = arr[j + 1]
                        arr[j + 1] = temp
                    }
                }
            }
            return arr;
        }
        var re = sort([5, 4, 3, 2, 1])
        console.log(re);

4.变量和属性,函数和方法的区别:

在这里插入图片描述

5.题目:封装一个函数,用户输入一个值判断是否和系统随机生成的一致,共十次机会

        function getRandom(min, max) {

            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
        var suiji = getRandom(1, 50)

        for (var i = 1; i <= 2; i++) {
            var num = prompt('输入一个1-10的数')
            if (num > suiji) {
                alert('数字大了')
            } else if (num < suiji) {
                alert('数字小了')
            } else {
                alert('正确')
                break
            }
            if (i == 2) {
                alert('次数用完了')
            }

        }

6.编写:今天是2019年11月6号 星期五

        var data = new Date(),
            year = data.getFullYear(),
            month = data.getMonth() + 1,
            datas = data.getDate(),
            arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
            day = data.getDay()
        console.log('今天是' + year + '年' + month + '月' + datas + '号 ' + arr[day]);

7.封装一个函数返回当前时间,例如 14:07:05

        function getTime() {
            var time = new Date(),
                h = time.getHours(),
                m = time.getMinutes(),
                s = time.getSeconds()
            h = h < 10 ? '0' + h : h
            m = m < 10 ? '0' + m : m
            s = s < 10 ? '0' + s : s
            return h + ':' + m + ':' + s
        }
        console.log(getTime());

8.编写:倒计时

        function countDowm(time) {
            var time1 = +new Date(), //获取当前系统时间,转化成毫秒
                time2 = +new Date(time), //将用户输入的时间换成毫秒
                time3 = (time2 - time1) / 1000, //输入时间 减去 现在时间,并化成秒
                d = parseInt(time3 / 60 / 60 / 24), //把秒 换算成天数,parseint 取整数
                h = parseInt(time3 / 60 / 60 % 24),
                m = parseInt(time3 / 60 % 60),
                s = parseInt(time3 % 60)
            d = d < 10 ? '0' + d : d
            h = h < 10 ? '0' + h : h
            m = m < 10 ? '0' + m : m
            s = s < 10 ? '0' + s : s
            return d + ':' + h + ':' + m + ':' + s
        }
        console.log(countDowm('2019-12-6 22:0:0'));

10.数组去重(这里还有一些问题,部分数组元素没有去掉)

function unique(arr) {
            var newarr = [];
            for (var i = 0; i < arr.length; i++) {
                if (newarr.indexOf(arr[i]) === -1) {
                    newarr.push(arr[i])
                }
            }
            return newarr
        }
        console.log(unique([1, 1, 'true', 'true', true, true, 15, 15, false, false, undefined, undefined, null, null, NaN, NaN, 'NaN', 0, 0, 'a', 'a', {}, {}]));
        /* 这里还有一些问题,部分数组值不能去掉 */

11.基本包装类型

解释了为什么普通数据类型有属性和方法
在这里插入图片描述

12.案例:查找字符串’fasefjsaioeisjejff’中f的位置以及次数

        var str = 'fasefjsaioeisjejff';
        var num = 0;
        var index = str.indexOf('f')
        while (index != -1) {
            console.log(index);
            num++;
            index = str.indexOf('f', index + 1)
        }
        console.log('f出现的次数是' + num);

在这里插入图片描述

13.判断一个字符串 ‘asefsjose’ 中出现最多次数的字符,并统计次数

思路:

在这里插入图片描述
代码:

        var str = 'asefsjose'
        var o = {}; //这是一个对象

        for (var i = 0; i <= str.length; i++) {
            var ch = str.charAt(i) //ch是字符串str的每一个字符
            if (o[ch]) { //o[ch]是属性名,如跟没有的话就给这个属性赋值1,如果有的话就+1
                o[ch]++
            } else {
                o[ch] = 1
            }

        }
        console.log(o);
        //遍历对象 使用for in
        var max = 0;
        var zifu
        for (var k in o) {
            if (o[k] > max) { //k 为 属性名;  o[k]为 属性值
                max = o[k]
                zifu = k
            }
        }
        console.log('出现最多字符是' + zifu + '次数为' + max);

结果:
在这里插入图片描述

14.split() 方法

定义和用法
split() 方法用于把一个字符串分割成字符串数组
语法
stringObject.split(separator,howmany)

参数描述
separator必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

15.join() 方法

定义和用法
join() 方法用于把数组中的所有元素放入一个字符串
元素是通过指定的分隔符进行分隔的。

语法
arrayObject.join(separator)

参数描述
separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值