js常见的案例

for 循环

输出100-200之间的素数

    // * 输出100-200之间所有的素数 只能被 1 和自身整除的数 
    // 思路:相反我们只需要找到那个能被其他某个数字整除的数 pass 就可以了
        for (var i = 100; i <= 200; i++) {
        var age = true; // 假设他为一个素数
        for (var j = 2; j < i; j++) {  // j 为什么为2 因为这里我们先排除掉 被除数 1 
            if (i % j == 0) { 
    // 这里用 i % j == 0 是用来排除掉 被除数自身 这样剩下的就是把能被整除的数给筛选出来 如果某个数字能被整除 那就不为素数直接 pass 掉  
                age = false;// 修改结果
                break; // 终止循环 跳出
            }
        }
        if (age) { // 如果为 true 那么就输出i
            console.log(i);
        }
    }

水仙花数

   // * 求100-999之间的水仙花数。abc = a^3+b^3+c^3
    for (var i = 100; i <= 999; i++) {
        var g = i % 10;
        var s = (i % 100 - g) / 10;
        var b = parseInt(i / 100);
        // var b = Math.floor(i / 100);
        if (b * b * b + s * s * s + g * g * g == i){
            console.log(i);
        }
    }
    取位方法
    var sum = 375;
    var g = sum % 10;
    var s = (sum % 100 - g) / 10;
    var b =  Math.floor(sum /100)
    console.log(g);
    console.log(s);
    console.log(b);

计算100!的阶乘

    // * 计算100的阶乘 100!
    var sum = 1;
    for (var i = 100; i >=1; i--) {
        sum *= i;
    }
    console.log(sum);

求1+2!+3!+…+20!的值

    // * 求1+2!+3!+…+20!的值
    // 思路:求的值为 1~20 直接每个数的阶乘后的之和 利用之前的左直角三角形算法 双重for循环 j<=i 
    var sum = 0;
    for (var i = 1; i <= 20; i++) {
        var res = 1; // res 为每个 i 的阶乘
        for (var j = 1; j <= i; j++) {
            res *= j; // 算出每个 i 的阶乘
        }
        sum += res; // 每一项 i 的阶乘的总和
    }
    console.log(sum);

数组案例

作业三 求一组数中的最大值

    var add = parseInt(prompt('你想存储多少个数据'));
    var arr = [];
    for (var i = 0; i < add; i++) {
        var age = prompt('第' + i + '个数')
        arr[i] = parseInt(age);
    }
    var max = arr[0];
    for (var j = 0; j < arr.length; j++) {
        if (arr[j] > max) {
            max = arr[j];
        }
    }
    alert('最大值为' + max)

数组分隔成字符串

    var arr = ['red', 'green', 'blue', 'pink'];
    var lafg = '';
    for (var i = 0; i < arr.length; i++) {
        lafg += arr[i] + '丨';
    }
    alert(lafg)

筛选数组

    // 方式 1
    var arr = [2, 0, 3, 56, 77, 8, 99, 3, 7, 8, 96];
    var arr1 = [];
    var j = 0;
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] >= 10) {
            arr1[j] = arr[i];
            j++;
        }
    }
    console.log(arr1);

    // 方式2
    var arr = [2, 0, 3, 56, 77, 8, 99, 3, 7, 8, 96];
    var arr1 = [];
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] >= 10) {
            arr1[arr1.length] = arr[i];
        }
    }
    console.log(arr1);

翻转数组

    var arr1 = [1, 2, 3, 4, 5, 6];
    var arr2 = [];
    for (var i = arr1.length - 1; i >= 0; i--) {
        arr2[arr2.length] = arr1[i];
    }
    console.log(arr2);

冒泡排序

    // 方式1 数据多了会占内存 不推荐
    var arr = [2, 7, 4, 9, 5, 1, 3, 8, 6];
    var sum = 0;
    for (var i = 0; i < arr.length; i++) {
        for (var j = 0; j < arr.length; j++) {
            if (arr[i] < arr[j]) {
                sum = arr[i];
                arr[i] = arr[j];
                arr[j] = sum ;
            }
        }
    }
    console.log(arr);

    // 方式2 推荐 
    var arr = [2, 7, 4, 9, 5, 1, 3, 8, 6];
    var sum = 0;
    for (var i = 0; i < arr.length; i++) { // 外层循环次数
        for (var j = 0; j < arr.length - i; j++) {// 里层循环每一次交换次数
            if (arr[j] > arr[j + 1]) { // 这里是大于号 是因为前一项与所有项相比 把最大的放在最后 同理 小于号 把最小的放在最后
                sum = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = sum;
            }
        }
    }
    console.log(arr);

函数

求数组中的最大值

        // 求数组中的最大值
        var max = add[0];
        for (var i = 1; i <=add.length; i++) {
            if (add[i] > max) {
                max = add[i]
            }
        }
        return max;

封装一个冒泡排序

 // 用函数封装一个冒泡排序
    function name(add) {
        var sum = 0;
        for (var i = 0; i < add.length; i++) {
            for (var j = 0; j < add.length - i; j++) {
                if (add[j] > add[j + 1]) {
                    sum = add[j];
                    add[j] = add[j + 1];
                    add[j + 1] = sum;
                }
            }
        }
        return add;
    }
    // 实参是一个数组传送过去
    console.log(name([1, 8, 5, 6, 4, 3, 7, 9, 2]));
    // 在外面事件开发里面,我们经常用一个变量来结束 函数的返回结果 使用更简单
    // var re = name([1, 8, 5, 6, 4, 3, 7, 9, 2]);
    // console.log(re);

函数训练题

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaScript是一种常用的编程语言,它可以用于实现网页动态效果、添加交互性、与服务器进行通信等。下面是一些常见JavaScript经典案例: 1. 动态修改网页内容 使用JavaScript可以在网页加载后动态修改网页内容,比如修改标题、添加新的段落或者图片等。 2. 处理表单 JavaScript可以用来验证表单输入的内容是否符合要求,比如判断用户输入的密码是否足够复杂、电子邮件地址是否有效等。 3. 创建动态图表 使用JavaScript可以创建动态的图表,比如折线图、柱状图、饼图等,方便对数据进行可视化展示。 4. 在网页上显示时钟 使用JavaScript可以在网页上实现一个时钟,并且可以持续更新当前时间。 5. 创建滑动轮播图 使用JavaScript可以创建滑动轮播图,方便展示多张图片。 这只是JavaScript的一些基本用法,实际上JavaScript还有很多更复杂的应用场景。希望这些案例能对您有所帮助。 ### 回答2: JavaScript经典案例有很多,以下是其中几个: 1. 轮播图:轮播图是网页中常见的功能,通过JavaScript实现可以循环播放多张图片,并提供前进和后退按钮。通过修改元素的样式,控制图片的显示和隐藏,可以实现动态的切换效果。 2. 表单验证:表单验证是网页中常见的功能,通过JavaScript可以对用户输入的内容进行验证,如检查邮箱格式、密码强度等。通过正则表达式或条件判断,可以实现对用户输入的有效性判断,并提供相应的提示信息。 3. 下拉菜单:下拉菜单是网页中常用的导航方式,通过JavaScript可以实现菜单的展开和收起功能。通过给菜单添加事件监听器,当用户点击菜单时触发相应的行为,可以实现交互式的下拉菜单效果。 4. 星级评分:星级评分是常见的评价方式,通过JavaScript可以实现用户对某个内容进行星级评分。通过监听用户的鼠标移动和点击事件,可以根据用户的操作改变评分的显示效果,并将用户评分信息保存在后台。 5. 时钟倒计时:时钟倒计时是网页中常见的功能,通过JavaScript可以实现倒计时的效果,如活动截止时间倒计时、倒计时游戏等。通过获取当前时间戳和目标时间戳的差值,可以计算剩余时间并动态更新显示。 以上是JavaScript经典案例的几个例子,这些案例展示了JavaScript在网页中的丰富应用,它们可以提供更好的用户体验和交互效果。这些案例也只是冰山一角,JavaScript的应用场景还有很多,可以根据具体需求进行灵活的运用。 ### 回答3: JavaScript经典案例之一是实现一个简单的计算器。这个计算器可以接受用户的输入,并根据输入的操作符进行相应的计算并显示结果。 首先,我们需要创建一个HTML页面,包括一个显示结果的文本框以及一系列的数字和操作符按钮。接着,我们使用JavaScript来实现计算器的功能。 我们可以定义一个函数来处理用户点击按钮的事件。当用户点击数字按钮时,我们将该数字追加到结果文本框中。当用户点击操作符按钮时,我们将操作符保存起来,并清空结果文本框。 然后,我们需要定义另一个函数来处理用户点击等号按钮的事件。这个函数将根据保存的操作符,将结果文本框中的数值进行相应的计算,并将计算结果显示在结果文本框中。 最后,我们需要将这些函数与相应的按钮绑定起来。通过使用JavaScript的事件监听器,我们可以将每个按钮的点击事件与对应的处理函数相关联。 这样,我们就完成了一个简单的计算器的实现。用户可以通过点击数字按钮输入数字,通过点击操作符按钮来选择操作符,再点击等号按钮来获得计算结果。这个案例展示了如何使用JavaScript来实现一个交互性较强的功能,并对用户的输入进行处理和计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值