zoukankan      html  css  js  c++  java
  • js回顾

    运算符

    let n1 = 5;
        let n2 = 2;
        let res =  n1 / n2;
        console.log(res);
    
        res = parseInt(res);
        console.log(res);
    
        console.log(parseInt('12abc'));
        console.log(parseInt('12.5abc'));
        console.log(parseFloat('12.5.1abc888'));
    
        // 自增自减
        console.log(n1);
    
        // ++在前优先级最高,++在后优先级最低(比赋值符=还低)
        // res = n1++;  // 先将n1的值赋值给res,自己再自增1
        // res = ++n1;  // 先自己自增1, 再将n1的值赋值给res
        console.log(res, n1);
    
    
        // 逻辑运算符
        let x = 10;
        res = 0 && ++x;
        console.log(res, x);
        res = 100 || ++x;
        console.log(res, x);
        console.log(!!x);
    
    
        // 三元运算符
        // 条件 ? 结果1 : 结果2
        res = 10 == '10' ?  '相等' : '不等';
        console.log(res);
    

    流程控制

     // 顺序、分支、循环
        `
        if (条件) {
    
        } else if (条件) {
    
        } else {
    
        }
        `;
    
        // 随机数 [0, 1) => [m, n]
        // [0, 1) * 11 => [0, 11) parseInt() => [0, 10] + 5 => [5, 15]
        // [0, 1) * (n - m + 1)  => [0, n - m + 1) parseInt() => [0, n - m] + m => [m, n]
        // 公式:parseInt(Math.random() * (max - min + 1)) + min
        let num = parseInt(Math.random() * (40 - 10 + 1)) + 10;
        console.log(num);
    
        if (num >= 30) {
            console.log('数字超过30');
        } else if (num >= 20) {
            console.log('数字超过20');
        } else {
            console.log('数字超过10');
        }
    
        // 循环
        `
        while (条件) {
            循环体
        }
        `;
        let count = 1;
        while (count <= 100) {
            if (count % 7 == 0) {
                console.log(count)
            }
            count++
        };
    
        `
        for (循环变量初始化①; 循环条件②; 循环增量③) {
            循环体④;
        }
        ① ②④③ ... ②④③ ②
        `;
    
        for (let i = 1; i <= 100; i++) {
            if (i % 11 == 0) {
                console.log(i)
            }
        }
    
        `
        do {
    
        } while (条件);
        `;
    
        count = 0;
        do {
            console.log('循环体一定会执行');
            count++;
        } while (count < 3);
    

    函数

    (function () {
    
    
        `函数的定义
        function 函数名(参数列表) {
            函数体;
            return 返回值
        }
    
        function:定义函数的关键字
        函数名:使用函数的依据,就是一个变量,可以赋值给其他变量,也可以存储在容器中,也可以作为函数的参数与返回值
        参数列表:都是按位置传,形参与实参个数不需要统一,但是一定是按位赋值 (你传你的,我收我的)
        函数体:完成功能的主体代码
        返回值:只能返回一个值
        `;
    
        function fn() {
            console.log('fn run');
            return [1, 2]
        }
        let res = fn();
        console.log(res);
        let func = fn;
        func();
    
        function my_fn(a, b) {
            console.log('参数', a, b)
        }
        my_fn();  // 你收我不传
        my_fn(10);  // 你收我传不够
        my_fn(10, 20, 30);  // 你收我传多
    
    
        `匿名函数
        function () {
            // 没有名字的函数就是匿名函数
        }
        `;
        // 需求需要一个函数地址,就可以传入一个匿名函数
        function fn100(fn) {
            fn()
        }
        fn100( function () { console.log('传进去的匿名函数') } )
    
        // 用变量接收匿名函数:第二种声明函数的方式
        let f = function (a, b) {
            console.log('ffffffffff')
        };
        f();
    
        // 为事件提供方法体
        hhh.onclick = function () {
            console.log('hhh 被点击了')
        };
    
        // 匿名函数自调用:一次性使用
        (function (a, b) {
            console.log('匿名函数自调用:', a, b)
        })(10, 20, 30);
    
        let abc = 10;
    
        hhh.onclick = function () {
            console.log(abc);
        };
    
    })()
    

    四种变量

        // if (true) {  // 块级作用域
        //     let a = 10;
        //     const b = 20;
        //     var c = 30;
        //     d = 40;
        // }
        {
            let a = 10;
            const b = 20;
            var c = 30;
            d = 40;
        }
        // console.log(a);  // 有{}就不能被外界访问
        // console.log(b);  // let和const有块级作用域,不允许重复定义
        // console.log(c);  // var没有块级作用域, 但有局部作用域,可以重复定义
        // console.log(d);  // 没有关键字声明的变量是全局变量,在函数内部声明的外部也可以用
    
        (function () {
            let aa = 100;
            const bb = 200;
            var cc = 300;
            dd = 400;
        })();
        console.log(dd);
    
  • 相关阅读:
    居敬持志
    测试内容
    TestMarkDown
    git
    面试题
    兼容的可视区高度和宽度
    JS(数据类型、预解析、闭包、作用域、this)
    JavaScript new 一个构造函数
    Windows下gm打水印老是报gm convert: Unable to read font (n019003l.pfb)问题
    如何开始一个vue+webpack项目
  • 原文地址:https://www.cnblogs.com/zhouze/p/11172867.html
Copyright © 2011-2022 走看看