JavaScript的基本概念和简单案例

目录

前言

一、反转字符串,将字符串str = 'i love china' 反转为china love i

二、组合数 1,2,3,4组合个位、十位、百位各不相同的三位数

三、求1-1000完美数,一个数本身等于它的因子之和 6 = 1 + 2 + 3


前言

JavaScript是一门函数优先、需要解析器解析执行具有原型编程的一门动态编程语言,需要在浏览器或者node.js的运行环境下解析执行

特点:1.需要解析器解析执行
           2.弱类型语言  (可以重复声明)
           3.从上到下按照代码解析顺序执行
           4.大小写敏感    区别于HTML和css:大小写不敏感

数据类型分为:

        1.基本数据类型(简单数据类型) 
              string number boolean null undefined symbol bigint
        2.引用数据类型(复杂数据类型)
              Object 
                  数组 函数

两种数据类型有何区别?

        1.基本数据类型的变量和值都是存在栈区的,互不影响的
        2.引用数据类型的变量和引用地址是存在栈区的,内容存在堆区


一、反转字符串,将字符串str = 'i love china' 反转为china love i

        思路:使用split方法将字符串转为数组,从后向前循环遍历数组,用一个空数组进行接收。

//定义一个字符串 “i love china”
var str = 'i love china';
// 将字符串转为数组 split(' ')
var res = str.split(" ");//['i','love','china']
//声明一个空字符串
var result = '';
//从后向前循环遍历数组中的每一个数组元素
for (var i = res.length - 1; i >= 0; i--) {
    //将循环遍历出的数组元素以字符串形式进行拼接
    result += res[i] + ' '
}
//此时打印的结果为成功反转的 china love i
console.log(result)

二、组合数 1,2,3,4组合个位、十位、百位各不相同的三位数

        思路:使用三个for循环遍历个位、十位、百位,并且使用if条件判断三个数字互不相等,此时声明一个变量来接收三位数(百位×100+十位×10+个位)。

//遍历个位数为1-4
for (var i = 1; i <= 4; i++) {
    //定义一个变量z为这个三位数
    var z;
    //遍历十位数为1-4
    for (var a = 1; a <= 4; a++){
        //遍历百位数为1-4
        for ( var b = 1; b <= 4; b++){
            //当个位数不等于十位数,十位数不等于百位数,个位数不等于百位数时
            if (i != a && a != b && i != b){
                //百位数×100 + 十位数×10 +个位数 = 此时的三位数
                z = b * 100 + a * 10 + i;
                //此时打印出来的三位数为个、十、百位各不相同的三位数
                console.log(z);
            }
        }
    }
}

三、1-1000完美数一个数本身等于它的因子之和 6 = 1 + 2 + 3

        思路:第一层for循环处理完美数本身(在1-1000之间),声明一个初始值为0的变量求因子之和,第二层for循环处理因子,使用if条件判断,当因子可以被整除时相加,求出因子之和,再判断因子之和是否等于完美数本身,相等时输出的值为1-1000之间的完美数。

//遍历被除数在1-1000之间
for (var i = 1; i <= 1000; i++) {
    //定义一个h变量为因子之和 初始值为0
    var h = 0;
    //遍历除数在1-这个被除数之间且不为被除数
    for (var a = 1; a < i; a++) {
        //当除数可以被被除数整除 并且除数不等于被除数时
        if (i % a == 0 && i != a) {
            //h=h+a 此时被除数的因子之和
            h += a;
        }
    }
    //当这个数等于它的因子之和时
    if (i == h) {
        //打印出来的数就是1-1000的完美数
        console.log(i);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值