黑马pink老师前端零基础自学jsDay2(从运算符~对象)

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jsDAY2</title>
</head>

<body>
    <script>
        //运算符
        // 算数、递增递减、比较、逻辑、赋值、运算符优先级
        // 加减乘除取余
        console.log(1 + 1);//2
        console.log(1 - 1);//0
        console.log(1 / 1);//1
        console.log(1 * 1);//1
        console.log(4 % 2);//0
        // 由于精度问题尽量别用浮点数进行运算
        // 不能直接拿浮点数进行比较是否相等

        // 能整除代表 取余数是0
        // 先乘除再加减 有优先级

        // 1+1就是表达式  返回值是2就是结果
        console.log(1 + 1);//2

        // 递增递减运算符
        // ++a   a++

        // == 默认转换两个数值
        console.log(10 == '10');//true
        // 全等于 === 一模一样才行
        console.log(10 === '10');//false

        // 逻辑与或非   先与后或  注意短路原则
        //&&  运算:如果表达式左边为真 则返回右边表达式  如果表达式左边为假  返回左边表达式
        //    || 或运算  如果第一个表达式为真 返回第一个  如果第一个表达式为假 返回第二个
        console.log(123 && 456);//456
        console.log(0 && 456);//0

        // 流程控制  分支结构  顺序 分支 三元 分支流程
        // 顺序 分支  循环

        // 三元运算符  
        var result = 10 > 5 ? 'yes' : 'no';
        console.log(result);
        //如果表达式为真 则返回第一个表达式  如果为假 则返回第二个表达式
        // default :  后面跟冒号
        // switch必须是全等 break必须写  不然全都执行

        // 打印n行n列的星星

        var numb1 = prompt('请输入你想要的行');
        var numb2 = prompt('请输入你想要的列');
        var str = '⭐';
        var sum = '';
        for (var i = 1; i <= numb1; i++) {

            for (var j = 1; j <= numb2; j++) {

                console.log(str);

            }

            console.log('\n');

        }


        // 作业 打印99乘法表

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

        // 输入密码
        var name = 'admin';
        var name1 = '';
        while (name1 !== name) {
            name1 = prompt('请输入您的用户名');
        }
        alert('123456');

        // 100以内累加 但跳过3 
        var sum = 0;
        for (var i = 0; i <= 100; i++) {
            if (i === 3) { continue; }
            sum += i;
        }
        console.log(sum);


        // 创建数组
        var arr = new Array();//创建空数组
        var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];//数组字面量创建
        // 数组中可以放任意类型的变量

        console.log(arr1);//输出全部数组
        console.log(arr1[1]);//2
        // 未定义的数组元素是undefined

        // 遍历数组使用循环
        // 数组长度 arr.length

        var arr2 = [2, 6, 1, 77, 52, 25, 7, 99];
        var max = 0;
        for (var i = 0; i < arr2.length; i++) {
            console.log(arr2[i]);
            arr2[i] > max ? max = arr2[i] : max;
        }
        console.log(max);


        // 数组转换为分割字符串
        var arr3 = ['asdksf', 'sdiahiu', 'asidhad', 'asjduag', 'sakdag', 'bdyua'];
        var str = '';
        //var sep='!';
        for (var i = 0; i < arr3.length; i++) {
            str += arr3[i] + '|';// str += arr3[i] +sep;

        }
        console.log(str);

        // 数组中新增元素
        var arr4 = [1, 2, 3, 4];
        console.log(arr4.length);//4
        arr4.length = 8;
        console.log(arr4);//1234empty*4;四个空位置 为undefined

        // 新增数组元素修改索引号
        var arr5 = [1, 2, 3, 4, 5];
        console.log(arr5);//[1, 2, 3, 4, 5]
        arr5[5] = '6';
        console.log(arr5);//[1, 2, 3, 4, 5, '6']  添加
        arr5[0] = 'a';
        console.log(arr5);//['a', 2, 3, 4, 5, '6']  替换
        arr5 = 'abc';
        console.log(arr5);//abc  给整个数组赋值 则整个数组的值都改变

        // 新建数组 存放1~10
        //var arr6 = new Array();
        var arr6 = [];
        for (var i = 1; i <= 10; i++) {
            arr6[i - 1] = i;//注意 不要写成arr[i]=i;数组下标和长度不同
        }
        console.log(arr6);
        console.log(arr6.length);

        // 筛选数组
        var arr7 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var arr8 = [];
        var jj = 0;
        for (var i = 0; i < arr7.length; i++) {
            if (arr7[i] >= 10) {
                arr8[jj] = arr7[i];
                jj++;
            }
        }
        console.log(arr8);

        // 方法2
        var arr7 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var arr8 = [];// arr8.length=0

        for (var i = 0; i < arr7.length; i++) {
            if (arr7[i] >= 10) {
                arr8[arr8.length] = arr7[i];
                // 当arr8[0]=arr7[i]时  arr8.length自动变为1
            }
        }
        console.log(arr8);


        console.log('------------------');
        //删除指定元素
        var arr9 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var arr10 = []

        for (var i = 0; i < arr9.length; i++) {
            if (arr9[i] != 0) {
                arr10[arr10.length] = arr9[i];

            }
        }
        console.log(arr10);

        //翻转数组
        // var arr19 = ['red', 'green', 'b', 'p', 'pl'];
        // var arr110 = []

        // for (var i = 0; i < arr19.length; i++) {

        //     arr110[arr110.length] = arr19[arr19.length - 1 - i];


        // }
        // console.log(arr110);

        console.log('------------------');
        // 也可以反过来写
        var arr19 = ['a', 'red', 'green', 'b', 'p', 'pl'];
        var arr110 = []

        for (var i = arr19.length - 1; i >= 0; i--) {

            arr110[arr110.length] = arr19[i];

        }
        console.log(arr110);
        console.log('------------------');
        // 冒泡排序



        console.log('------------------');
        // 函数
        function sayHi() {//创建函数
            console.log('HI!!!!')
        }
        sayHi();//调用函数

        console.log('--------求1-100累加和 利用函数');
        function getSUM() {
            var sum = 0;
            for (var i = 0; i <= 100; i++) {
                sum += i;
            }
            console.log(sum);
        }
        getSUM();

        // function getSUM(形参1,形参2...)
        // getSUM(实参1,实参2...)
        console.log('利用函数求任意两个数最大值');
        function getMax(n1, n2) {
            return n1 > n2 ? n1 : n2;
        }
        console.log(getMax(1, 5));
        console.log('利用函数求任意一个数组中的最大值');

        var arr12 = [1, 4, 5, 2, 5, 76, 8, 2, 9]
        function getArrMax(arr) {
            var max = arr[0];
            for (var i = 0; i <= arr.length; i++) {
                max = arr[i] > max ? arr[i] : max;
            }
            return max;
        }
        console.log(getArrMax(arr12));
        //用变量接受函数返回值更简单
        // return下面的代码不会被执行  无return的函数返回值是undefined
        // 一个数➕undefined是 NaN
        // return只能返回一个值 多个值默认最后一个值 想返回多个值可以使用数组
        function getResult(a, b) {
            return [a + b, a - b, a * b, a / b];
        }
        console.log(getResult(36, 6));

        // 只有函数才有内置的arguments 
        // 当不知道要传入多少个参数的时候可以使用arguments
        function fn() {
            console.log(arguments);
            console.log(arguments.length);
            console.log(arguments[2]);
            for (var i = 0; i < arguments.length; i++) {
                console.log(arguments[i]);//同样可以遍历数组
            }
        }
        fn(1, 2, 3);
        fn(1, 2, 3, 4, 5);

        // arguments是伪数组,具有部分数组属性
        // 1.具有数组length属性
        // 2.按照索引方式存储
        // 3.没有真正数组的一些方法pop() push()等等
        console.log('利用函数求任意个数最大值');
        function fn1() {
            var max = arguments[0];
            for (var i = 0; i < arguments.length; i++) {
                max = max > arguments[i] ? max : arguments[i];
            }
            return max;
        }
        console.log(fn1(1, 2, 3, 3454, 7, 2, 5, 6));


        console.log('利用函数翻转数组');
        arr13 = [1, 2, 3, 4, 5]
        function reverse(arr) {
            var newArr = [];
            for (var i = arr.length - 1; i >= 0; i--) {
                newArr[newArr.length] = arr[i];
            }
            return newArr;
        }
        console.log(reverse(arr13));

        var arr22 = reverse(['a', 'b', 'c']);
        console.log(arr22);

        console.log('利用函数冒泡排序');

        var arr23 = [5, 3, 2, 1, 4];
        function px(arr) {
            for (var j = 0; j <= arr.length - 1; j++) {
                for (var i = 0; i < arr.length - 1 - j; i++) {
                    if (arr[i] > arr[i + 1]) {
                        var temp = 0;
                        temp = arr[i];
                        arr[i] = arr[i + 1];
                        arr[i + 1] = temp;
                    }
                }
            }
            return arr;
        }
        var arr24 = px(arr23);
        console.log(arr24);


        console.log('利用函数判断闰年');
        function isRunYear(year) {
            var flag = false;
            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                flag = true;
            }
            return flag;
        }

        console.log(isRunYear(2000));
        // 函数调用函数
        // var fun=function(){};匿名函数  fun是变量名不是函数名
        // fun();函数表达式

        // 常规是命名函数 关键字函数

        // 作用域就是代码名字(变量)在某个区域起作用的
        // 多利用作用域可以减少命名冲突
        // js的作用域(es6版本)之前:全局作用域  局部作用域
        // 全局作用域:整个script标签 或者是一个单独的js文件
        var num = 10;
        var nm = 30;
        console.log(num);

        // 局部作用域(函数作用域)在函数内部就是局部作用域 代码的名字只会在函数内部起作用
        function fn() {
            //局部作用域
            var num = 20;
            console.log(num);
        }
        fn();
        console.log('------------------');

        // 函数内部没有声明但是赋值的变量是全局变量
        // 函数形参是局部
        // 全局关闭浏览器才会销毁 耗费内存
        // 局部变量局部程序运行完就会销毁

        // 预解析 function var 声明提前
// 作用域链遵循就近原则

// 对象字面量 构造函数创建对象  new  遍历对象
// 对象是一个具体的事物  泛指不算

// 对象  (后面这些没写代码。。一是因为有基础 二是因为不想写了 进度很慢 有时间再弄吧)
    </script>
</body>

</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值