js入门基础(3)(经典的倒三角案例、九九乘法表、计算器等)

一:倒三角

1.js逻辑思维

根据上一篇,我们已经可以做一个n行n列的星星了,而这篇准备做一个递减的方式,从而实现出逐层递减的效果
我们一开始的打印n行n列的代码如下:

var a = '';
        for (var i = 1; i <= 5; i++) {
            for (var b = 1; b <= 5; b++) {
                a = a + '*';
            }
            a = a + '\n';
        }
        console.log(a);

效果如下:
在这里插入图片描述
递减的话,我们是不是可以转变一下思维方式,让内循环的那个变量等于外循环的变量,那样内循环随着外循环而变,例如我们随便打印一个,因为本人比较喜欢 9 这个数字,我们就打印一个九行九列的三角
代码如下:

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

代码跑起来,按下f12或者右键检查,控制台效果图如下:
在这里插入图片描述
是不是很简单。

2.经典案例:九九乘法表

看完了上面的倒三角,我们接着看一下九九乘法表,九九乘法表与上面的三角,原理相差不大,无非是一些细节问题
我们看一下做完后的效果图:
在这里插入图片描述
通过上面的三角案例,我们可以稍微做些修改,做一些修改,看看有什么好玩的:
上面是j = i; j <= 9; j++
我们是不是可以让i到后面来,j = 1; j <= i; j++
代码如下:

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

其中
a = a + '\n';

a += j + 'x' + i + '=' + j * i + '\t';

这个是换行用的
我们来看效果图:
在这里插入图片描述

3.案例:简易计算器

我们写的这个计算器,可以用js简单实现一下功能
临着写这个功能之前,我们先了解掌握一下逻辑
根据下面这段代码,做一些了解

 //逻辑运算符

        //   &&(与)   ||(或)  !(非)
        //当两个值为布尔类型(短路运算)
        // document.write(true&&true); //返回true
        // document.write(true&&false); //返回true
        // document.write(false&&false); //返回false
        // document.write(false&&true); //返回true



        /* var str = "name" && NaN;
        console.log(str);
        var str = "" && "hello";
        console.log(str);
        var str = "undefined" && "name";
        console.log(str); */


        //逻辑非   !是取反的意思

        /*  console.log(!"");  //true
         console.log(!0);    //true
         console.log(!null);  //true
         console.log(!undefined);  //true
         console.log(!NaN);  //true
         console.log(!{});  //false
         console.log(!3);  //false */



        /* 
        console.log(1+2>2&&2+1>1);   //true
        console.log(false||true&&false);   //false
        console.log(1+2>1);   //true
        console.log(1+2!=2);   //true
        console.log(1+(2!=2));   //1 */

 // 与:逻辑与运算,运算规则:
        // 全一为一,有零为零。即只有两个操作数都为1时,结果才为1,其他情况均为0(也可以说,只要有0,结果就为 0)。


        // 或:逻辑或运算,运算规则:
        // 全零为零,有一为一。即只有两个操作数都为0时,结果才为0,其他情况均为1(也可以说,只要有1,结果就为1)。


        // 非:逻辑非运算,仅有一个运算操作数,所以是一元逻辑运算。
        // 运算规则:
        // 一变零,零变一。即操作数为1时结果为0,操作数为0时结果为1。

        // 异或(XOR)
        // 逻辑异或运算,运算规则:相异为一,相同为零。即两个操作数不一样时结果为1,两个操作数相同时结果为0。
        //

        // 同或(XNOR)
        // 逻辑同或运算,运算规则:相同为一,相异为零。与异或运算规则相
        // 反。即两个操作数值相同时结果为1,两个操作数不一样时结果为0。


        // 与非(NAND)
        // 逻辑与非运算,运算规则:先与后非(全一为零,有零为一)。也就是将两个操作数先进行“逻辑与运算”,对与“运算结果值”再进行“逻
        // 辑非运算”,产生最终的结果。


        // 或非(NOR)
        // 逻辑或非运算,运算规则:先或后非(全零为一,有一为零)。也就 是将两个操作数先进行“逻辑或运算”,对“或运算结果值”再进行“逻
        // 辑非运算”,产生最终的结果。

看完上面这些,相信你对于这些有些掌握了
计算器的代码实现如下:

		var a = +prompt("请输入第一个数字");
        var b = prompt("请输入符号");
        var c = +prompt("请输入第二个数字");
        if (b === '+') {
            alert(a +"+"+ c + "=" + (a + c));
        }
        else if(b==='-'){
            alert(a +"-"+ c + "=" + (a - c));
        }
        else if(b==='*'){
            alert(a +"*"+ c + "=" + (a * c));
        }
        else if(b==='/'){
            alert(a +"/"+ c + "=" + (a / c));
        }

实现效果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看完之后,跟着敲一敲,相信你会有所成!!!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值