JS02

知识点

```bash
 // 1 计算圆的周长和面积:
                // 周长  2πr  只需要知道半径,也就是需要两个变量---半径r + 周长c
                var r = 40;
                var c = 2 * 3.14 * r; 
                console.log(c)
                c = c.toFixed(2);
                console.log(c)  
                // 面积 πrr   只需要知道半径,也就是需要两个变量---面积s
                var s = 3.14 * r * r;
                var s = 3.14 * Math.pow(r,2);
                s = s.toFixed(2);
                console.log(s)
                var res = Number(c) + Number(s);
                console.log(res)

            

// 总结:浮点数在计算机中计算会出现精度溢出的问题,解决方案:to.fixed()
            //     注意:  num = Number(num.toFixed(2));

        // 2 随机生成三位数,然后依次输出
            // 思路:
            //     Math.random()   0-1      100-999
            //     保证最小值是 100     随机数+100
            //     保证最大值是 999     随机数 * 999  round才能取到999

            //     随机数 * 900 + 100

        var rand = Math.floor(Math.random() * 900) + 100;  
        var rand = Math.ceil(Math.random() * 899) + 100;  
        var rand = Math.round(Math.random() * 899) + 100; 
        
        // 712

        // 取百位  rand模(余数)前一位(千)1000除以100  取整
        // 十位   rand模(余数)前一位(百)100除以10  取整
        // 个位   rand模(余数)前一位(十)10除以1  取整         
        var bai = Math.floor(rand % 1000 / 100);
        var shi = parseInt(rand % 100 / 10);
        var ge = rand % 10;

        // 四位的随机数   1000 - 9999
        var min = 1000;
        var max = 9999;
        var s = Math.round(Math.random() * (max - min)) + min;
        console.log(s);
        // 
        var h = parseInt(s / 3600);
        var m = parseInt(s % 3600 / 60);
        var ss = s % 60;

        document.write(s + '秒转成' +h + '小时' + m + '分钟' +ss + '秒')
1.圆的面积和周长
2.精度溢出 toFixed()  但是这个精度溢出会把数字转为字符串!!!
3.随机四位数,个十百千求和
    产生min-max之间的随机数
    怎么取个十百千
4.秒转天小时分钟秒
5.布尔值转换为数字
    console.log(1==true);
    console.log(NaN==NaN);
    console.log(null==undefined);
6.隐式转换
    自动转为字符串 +
    自动转为数字 - * / +(取正) - 取负
    在if语句里面 都会自动转换为布尔值 5个flase
7. 赋值 = += *= /= %=   实际就是一个简写
8.自增自减  加加在前先自加  加加在后先运算后加1
9.比较运算  > >= < <=  == === != !==
10.逻辑运算 ||(见真即真) &&(见假即假) !
11.if语句
    if(表达式){
        
    }
js三大流程控制语句
    顺序语句
    分支语句:ifif elseif else if else if  else、
    循环语句

//圆的半径80,求圆的面积和周长

    var r = 80;
    var pai = 3.14;
    //圆的面积:πr²
    var a = pai*Math.pow(r,2)*1;
    document.write('圆的面积是:'+a+'<br />');

    //圆的周长:2πr
    var b = 2*pai*r;
    // b = b.toFixed(2);
    document.write('圆的周长是:'+b*1);

- 自增自减运算

//自增运算1   c++  ++c只有在赋值的时候才会有明显区别

    var c = 7;
    var res = c++ + ++c + 2 + c++ - c -- + --c
    //        7   +  9  + 2 +  9  -10    +  8
    //        8      9         10   9       8
    console.log(c,res);  // 8,25

    var k = '12';
    var result = k + k++ -k--;
    //          12 + 12  -13       1212-13字符串拼接1212
    //               13        12
    document.write(result);   //1199

隐式转换

//1.自动转字符串  +是字符串拼接

//数字跟字符串拼接
var a = 2;
var b = 'a'
console.log(a+b);  //2a

//字符串跟字符串拼接
var a = '2';
var b = '2';
console.log(a+b); 


//2.自动转数字

//-只有数字才具备  所以字符串自动转为数字
//除了+、%外 (-、*、/、取正值、取负值,字符串都可以隐式转为数字类型)
var aa ='2'
console.log(aa-0);   //2

var aa1 ='2'
console.log(aa1/1);

//3.自动转布尔类型:if语句自动转为布尔类型, 除了5个false

页面弹框demo

   <label for="">请输入三位数</label>
    <input type="text" id="inp1">
    <button id="btn">按钮</button>
    <input type="text" id="inp2">

    <!-- 1.点击  2.怎么获取输入框的值  3.计算  4.把值赋给后面的输入框 -->

        btn.onclick = function () {
            // alert(1) 测试有结果
            // inp1.value获取输入框的值
            var num = inp1.value;
            //弹框可以输出num的值
            alert(num);
            var bai = parseInt(num/100);
            var shi = parseInt(num%100/10);
            var ge = num%10/1;
            var res = bai+shi+ge;
        //    alert(res);
           inp2.value=res;

随机产生4位数

var num = Math.floor(Math.random() * 9000) + 1000;
    document.write(num + "这是四位整数" + "<br>");
    var qian = Math.floor(num/1000);
    document.write(qian + "这是千位数" + "<br>")
    var bai = Math.floor(num % 1000 / 100);
    document.write(bai + "这是百位数" + "<br>")
    var shi = Math.floor(num%100/10);
    document.write(shi + "这是十位数" + "<br>")
    var ge = Math.floor(num%10/1);
    document.write(ge + "这是个位数" + "<br>")

    document.write(num);

比较运算

// 比较运算:> >= < <=  ==  === != !==     值是布尔类型
    var a = 3;
    var b =5 ;
    // =赋值的优先级很低
    var boolean= a>b;
    document.write(boolean);

    /*
    1.==是判断值是否相等 会把字符串b转化为数字b  再进行比较
    2.===既要判断值 也要判断数据类型 全等
    3.!=  不等于
    4.!== 不全等
    */

if语句

//单分支if
    //表达式值是布尔类型;值为True则执行 否则不执行
    if(表达式){

    }


    // 例子
    var a =5
    var b =4
    if(a>b) {
        alert('小苏真帅')
    }


    //双分支if else
    //可以取到100  随机产生2位数
    var score = Math.round(Math.random()*100);
        if (score>=60) {
            alert('恭喜你及格了')
        }else{

        }


//多分支 if else-if else-if  else   

**

判断奇数偶数

**

var num2 = Math.round(Math.random()*100);
        if(num%2== 0){
            alert('偶数')
        }else {
            alert('奇数')
        }

随机生成一个分数,判断 不及格 及格(60-70) 良好(70-80) 优秀80-90 666(90以上)

  var num = Math.round(Math.random()*100);
    document.write(num);
        if(num<60) {
            alert('不及格');
        }else if (num>=60&&num<70) {
            alert('及格');
        }else if(num>=70&&num<80) {
            alert('良好');
        }else if (num>=80&&num<90) {
            alert('优秀');
        }else if (num>=90){
            alert('666');
        }

用户输入一个四位数的年份,判断是不是闰年。 闰年:能被4整除但是不能被100整除 或者 能被400整除的是闰年

  var year = prompt('请输入一个年份');
        if(year%4==0&&year%100!==0||year%400==0) {
            alert('闰年');
        }else {
            alert('不是闰年')
        }

*秒转为天小时分钟秒

   // 最大值可以取到 9999;最小值最少是1000
           //这里的ran设置为是秒
        var ran =Math.floor( Math.random()*9000)+1000;
        document.write('四位数是:'+ran+'<br />');
        var day = Math.floor(ran/24/3600);
        document.write('天数是:'+day+'<br />');
        var hour = Math.floor(ran%(24*3600)/3600);
        document.write('小时是'+hour+'<br />');
        var min = Math.floor(ran%3600/60);
        document.write('分钟是:'+min+'<br />');
        var second = Math.floor(ran%60/1);
        document.write('秒是:'+second);

思考题

//思考第一题:布尔值转为数字
var b = true;
console.log(1==true); //true
/*为什么结果是true,因为布尔类型系统默认情况下:true是1; flase是0*/

var b = true;
console.log(10==true); //false
/*当数字跟布尔类型比较时  布尔值自动转为true自动转为1*/

//思考第二题:
console.log(NaN==NaN);  //false
/*为什么结果是false,因为NaN本身就不是一个数字,那么不是一个数字的和另外一个不是数字的,怎么会相等呢?*/


//思考第三题:
console.log(null==undefined); //true
/*因为==比较的是两个值是否相等,null是空,undefined是未定义,也是没有赋值。所以null==undefined是true*/

小结

  1.圆的面积和周长
    2.精度溢出 .toFixed()
    3.随机四位数,个十百千求和
        产生min-max之间的随机数
        怎么取个十百千
    4.秒转天小时分钟秒
    5.布尔值转换为数字
        console.log(1==true);
        console.log(NaN==NaN);
        console.log(null==undefined);
    6.隐式转换
        自动转为字符串 +
        自动转为数字 - * / +(取正) - 取负
        在if语句里面 都会自动转换为布尔值 5个flase
    7. 赋值 = += *= /= %=   实际就是一个简写
    8.自增自减  加加在前先自加  加加在后先运算后加1
    9.比较运算  > >= < <=  == === != !==
    10.逻辑运算 ||(见真即真) &&(见假即假) !
    11.if语句
        if(表达式){
            
        }
    js三大流程控制语句
        顺序语句
        分支语句:ifif elseif else if else if  else、
        循环语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值