关于js中的循环语句,数据类型,数据之间的转换以及存在的强制转换类型和隐式转换类型的总结

<script>

    //变量的交换

//  var a=10;

//  var b=30;

//  var ls=a;

//    a=b;

//    b=ls;

//  console.log(b);

//  console.log(a);

//声明了但未赋值和变量的覆盖,如果存在相同的变量,则优先执行下面的变量的值

// var a;

// var b=20;

// var b=30;

// console.log(a);

// console.log(b);

// 关键字:var 声明变量  typeof 检测数据类型

//关系运算符:之间存在的隐式类型转换:

// 1算数运算符:+,-,*,/,%

//    +:只要两边出现字符,就是字符的累加

//    -,%,/,*:数值的运算

// 2关系运算符:<,<=,==,===,>,>=

//    除了===;其他的只要两边出现数值,就是数值的比较

//    只有当两边都是字符的时候,才逐位比较,

//    ===:不存在隐式类型转换,因为她不仅比较数值,还会比较数据的类型

// 3逻辑运算符 && || ! :true和false为值

//4 赋值运算符=,+=,-=,8=,%=,++,--

    // 与算数运算符一样


    // 强制的类型转换:

    // 1.字符转数值

    // parseInt():想当于取一个整数,遇到字符就停止转换,不能识别小数点

    // parseFloat();可以识别小数点,遇到除小数点以外的自读自动停止

    //Number():严格转换,遇见除小数点以外的字符,立即NaN

    // Math.round():严格转换,小数点以外的字符立即NaN,取最近的整数,有四舍五入的效果

    // var a="123.45f8"

    // var b="123.458"

    // console.log(parseInt(a));

    // //结果123

    // console.log(parseFloat(a));

    // //结果123.45

    // console.log(Number(b));

    // //结果123.458

    // console.log(Math.round(b));

    // //结果123

    // 2,数值转字符

    // num.toString():相当于加了个"",直接转成字符

    // num.toFixed(n):可以识别小数点,n表示保留几位小数,可以四舍五入

    // var num=123.456

    // console.log(num.toString());

    // console.log(num.toFixed(2));

    // 什么是NaN:错误的数值运算或转换

    // isNaN:判断是不是NaN的关键字,如果为true,说明数据的转换或者运算发生错误,得到NaN,如果为false,说明数据的转换和运算时正确的,不是NaN

    // 在isNaN的小括号内会发生数据的隐式类型转换,自动转换为数值

        // var a="ddd";

        // var b="123"

        // console.log(isNaN(a));

        // //true

        // console.log(isNaN(b));

        // //flase

    // 进制之间的转换:只有十进制是数值,其他进制都是字符

    //1,十进制转其他进制,数值转字符

    // var num=27;

    // console.log(num.toString(2));

    // //转二进制

    // // 2,其他进制转十进制,字符转数值

    // var a=100111;

    // console.log(parseInt(a,2))

    // //将a作为2进制转换成十进制

    // 分支结构中的分支语句

    // if(){

    // }

    // if()小括号内存在的隐式类型转换:if中存在的数据类型为布尔型,如果不是,隐式转换会自动转换为布尔型

        // 1.数值,非0为true;

        // 2.字符,非空位true;

        // 3.数组,对象都是true;

        // 4.函数,true;

        // 5.undefined,NaN,null;为false

        //  var a;

        // console.log(typeof a);

        // console.log(a);

        // console.log(undefined === a);

        // //循环语句

        // var i=2

        // while(i<4){

        //    console.log("这是一个循环while语句");

        //    i++

        // }

        // while:语句名

        // ()循环条件

        // {}循环体

        // while语句容易造成死循环:死循环:无法通过自身结束的循环

        // var i=1;

        // do{

        //    console.log("输出两次")

        //    i++;

        //    }

        // while(i<3){

        //    console.log("输出")

        // }

        // do{}while(){}

        // do:语句名1

        // {}循环体1

        // while:语句名2

        // ()循环条件:当为true时执行循环体1,当为false时执行循环体2

        // {}循环体2

        //循环中的关键字:break:立即结束当前循环,从执行到break 后面的代码都不再执行

                        // continue:立即跳过本次循环,从执行到continue  后面的代码都不再执行

        // for(){}

        // for:语句名

        // ()循环条件

        // {}循环体

        // demo:

        // 1.计算1+2+3+...100

        //    var sum=0;

        // for(var i=1;i<=100;i++){

        //    sum+=i;

        // }

        // console.log(sum);

            // 2.计算1~100偶数的和

            // var sum=0;

            // for(var i=1;i<=100;i++){

            //    if(i%2==0){

            //        sum+=i;

            //    }

            // }

            // console.log(sum);

            // 3.计算10的阶乘

                // var a=1;

                // for(var i=1;i<=10;i++){

                //    a*=i;

                // } 

                // console.log(a);

                // 4.计算100-999之间的水仙花数

                for(i=100;i<=999;i++){

                    var a=parseInt(i/100);

                    var b=parseInt(i/10)%10;

                    var c=i%10;

                    if(a*a*a+b*b*b+c*c*c===i){

                        console.log(i);

                    }

                }

            // 难点:循环的嵌套

            // demo:

            //  1.计算10的阶乘的和

            //    var sum=0;

            //    for(var j=1;j<=3;j++){

            //    var a=1;

            //    for(var i=1;i<=j;i++){

            //    a*=i;

            // }

            //    sum+=a;

            // }

            // console.log(sum);

                // 2.打印一个三角形

            //    for(j=1;j<=10;j++){

            //    for(var i=1;i<=j;i++){

            //        document.write("*");

            //    }

            //        document.write("<br>")

            //    }

            //  3.打印一个倒三角形

            //        for(j=1;j<=10;j++){

            //        for(var i=10;i>=j;i--){

            //        document.write("*");

            //    }

            //        document.write("<br>")

            //    }

                // 4.打印一个9*9乘法表

                // for(j=1;j<=9;j++){

                //    for(i=1;i<=j;i++){

                //    document.write(i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;");

                // }

                //    document.write("<br>")

                // }

            //循环中的浮点数的精度问题:

            // console.log(parseFloat(0.1+0.7));

            //    //结果:0.799999

            // console.log(parseFloat(0.1+0.7).toFixed(1));

            //    //结果:0.8

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容