jsDAY3 PART||

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var i = 0, output1 = '';
        while (i < 5) {
            i++;
            console.log(i);
        }
        //-------------以上是while循环,(同C)------------------------------------
        do {
            output1 += i;
            i--;
        } while (i > 0);
        console.log(output1);
        //------000以上是do-while循环(同c),先执行一次,在判断条件!--------------------------------------------
        var i = 0, output1 = '';
        while (i < 10) {
            i++;
            if (i % 2 == 0) {
                output1 += i;
            } else { continue; }
        }
        console.log(output1);
        output1 = '';
        while (i > 0) {
            i--;
            if (i % 2 != 0) {
                output1 += i;
            } else { break; }
        }
        console.log(output1);
        //-------------------------以上是continue和break(同C)--------------------------------------
        var sunshine = new Array();     //通过方法创建空数组,(同JAVA)
        var sunshine1 = [];             //字面量来创建数组,(比上面的好多了,,被java new对象所支配的恐惧)
        var sunshine2 = [1, 1.2, 'ump45', true, null + undefined];     //功能强大的数组!
        output1 = '';
        for (var i = 0; i < sunshine2.length; i++) {        //复习,总结的优势
            output1 += sunshine2[i] + ' ';      //如果知道了运算符的优先级,就知道这样的操作并不惊险~
        }                   //js的数组索引方式无不同,功能强大,可保存多类型值
        console.log(output1);  //经典NaN
        //=====================当想调用元素超数组范围时,会显示undefined,不会报错,贴心但致命------------------
        console.log(null + undefined);      //直接打印得不到真值(?)
        console.log(typeof (null + undefined));
        console.log(isNaN(null + undefined))
        var sunshine3 = [1, 'a'];
        sunshine3.length += 2;        //通过加数组长度来修改数组(扩容or缩减),抽象!(重!)
        console.log(sunshine3);       //通过数组名来打印数组(控制台),会在前面显示(4)代表数组当前长度
        alert(sunshine3);            //然而alert不会,可以认为是便利开发者的做法(?)
        //==========================数组元素的按照索引加,改同c===========================
        var sunshine4 = [1, 0, 2];
        sunshine4 += 2;
        console.log(sunshine4);     //答案是1,0,22(22出现的原因?)

        var sunshine5 = [];
        for (var i = 0; i < 10; i++) {
            sunshine5[i] = i;
        }
        console.log(sunshine5)

        var sunshine6 = [1, 2, 3, 'a', 0, false];
        var j = 0, sadness = [];
        console.log(sunshine6);
        for (var i = 0; i < sunshine6.length; i++) {
            if (sunshine6[i] != 0) {
                sadness[j] = sunshine6[i];
                j++;
            }
            if (sunshine6[i] == 0) {
                console.log('QAQ');
            }           //会出现2个 QAQ,结合上述,false在相等判断时会被当成0,
        }
        console.log(sadness);
        //---------------以上是数组的‘删减’,其实就是新创建数组+循环判断输入---------------------------
        //-----------------接下来是大货-------------------------------------------------------------
        var biggun = [10, 7, 3, 4, 6, 6, 2];
        var temp;
        for (var i = 0; i < biggun.length - 1; i++) {
            for (var j = 0; j < biggun.length - i - 1; j++) {
                if (biggun[j] < biggun[j + 1]) {
                    temp = biggun[j];
                    biggun[j] = biggun[j + 1];
                    biggun[j + 1] = temp;
                }
            }
        }
        console.log(biggun);
        //-------------------以上是冒泡排序------------------------------------------------
        function getsum(num1, num2) {         //函数阶段1--- 声明函数
            var sum = 0;
            for (var i = num1; i <= num2; i++) {
                sum += i;
            }
            return sum;
        }           //最好写成 pure function!<纯函数>(从youtube上看到的)
        console.log(getsum(0, 10));  //请注意,不写return的话会出现undefined!!!
        //     在上面 ------------函数阶段2---  调用函数
        //--------------------------函数同C基本相同,形参小于实参不会报错,比较宽松,不想java..------------------------
        //---------------------------当实参小于形参时,少的会成undefined。。----------------------------
        //-----------------------------js中,形参默认undefined--------------------------------------------
        function a1(num1, num2) {
            return num1 > num2 ? num1 : num2;
        }//----------一个酷炫的写法~_~
        console.log(a1(3, '10'));        //经典自动转型
        function a2(ump) {       //论如何用函数接收数组,,,还是差不多,主要是函数内部的结构
            var max = ump[0];
            for (var i = 0; i < ump.length; i++) {
                if (max < ump[i]) {
                    max = ump[i];
                }
            }
            return max;//return便是函数的终止,所以  return 1,2;只会在返回1后就终止!QAQ
        }           //想返回多个值返回数组就行了!(变相实现)
        //函数没有 return 则返回undefined!!------------------------------
        console.log(a2([1, 2, 3, 4]));
        //-------------------------------------以上是函数基础-------------------------------------------
        //arguments的使用!(重!),不知道要传几个值可以用!----------------------------------------------
        function a3() {
            console.log(arguments); //重!arguments可以看到传进来的值
        }//展示的是一个伪数组,可以遍历,有部分属性,如length,而且可以按照传入顺序进行有序存储
        a3(1, 2, 3, 4);
        function a2update() {
            var max = arguments[0];
            for (var i = 0; i < arguments.length; i++) {
                if (max < arguments[i]) {
                    max = arguments[i];
                }
            }       //用arguments来算任意个值的最大值,🐂!
            return max;
        }
        console.log(a2update(1, 2, 3, 4));     //答案为4
        console.log(a2update([1, 2, 3, 4]));      //答案为[1,2,3,4],看来即使是随便的js,也是有限制的。。
//------------------------------大货!大货!!---------------------------------------------------
        function maopao(hk){//封装冒泡排序
            var temp;
            for(var i=0;i<hk.length-1;i++){
                for(var j=0;j<hk.length-i-1;j++){
                    if(hk[j]>hk[j+1]){
                        temp=hk[j];
                        hk[j]=hk[j+1];
                        hk[j+1]=temp;
                    }
                }
            }
            return hk;
        }
        console.log(maopao([2,4,1,10]));

        function a11(){
            console.log('a11');
            a22();          //函数在函数中的调用^
            console.log('hhh');
        }
        function a22(){
            console.log('a22');
        }
        a11();
        //P.S。以上用的都是利用命名函数所生成的函数---------------------------------------
        var a33 = function(aname){   //注意:a33为变量名,不是函数名
            console.log('im also a function');
            console.log(aname);
        }           //这是匿名函数 
        //a33里面存的就是一个函数
        a33('HK416');

    </script>
</body>

</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值