JavaScript-day02

复习:


    1、JavaScript介绍
        为什么要学?
        前端课程体系
        优点

    2、JavaScript的组成
        ECMAScript5(es5)    =>    es6
            变量
            注释
            数组
            对象
            函数
        DOM(文档对象模型)
            js对html做一些操作
                获取dom节点
                绑定事件
                监听
        BOM(浏览器对象模型)
            js对浏览器进行操作
                定时器setTimeout(function(){})/setInterval(function(){})
                alert('')
    3、js解析器
        主流浏览器
        nodejs -> js可以运行在服务器上

        js运行在浏览器上:动画、表单验证...
        js运行在服务器上:操作数据库、代码编译...

    4、下载nodejs
        如何建立软连接(快捷方式)?
        如何退出nodejs命令行?

    5、vim三种模式(spf13)
        命令行模式
            复制        yy
            粘贴        p
            删除        dd
            撤回        u
        编辑模式(输入i、o)
            代码的编写
        底行模式(shift + :)
            保存并退出    wq
            退出            q
            强制退出        q!
    6、变量
        弱类型(数据类型可以随时的变换)
        变量声明
            var a;
        变量初始化
            a = 2;
            a = 'hello';
        变量使用
            a++;
            ++a;
        变量声明与初始化同时进行
            var a = 2;
        变量的数据类型
            基本数据类型
                数字类型 number
                字符串类型    string
                布尔类型        boolean
                null    空对象
                undefined    未定义

                typeof()判断基本数据类型
                isNaN()判断变量是否是数字
            引用数据类型
                对象
                函数
                数组
                正则表达式
    7、操作符
        算术运算符
            +
            -
            *
            /
            %
        赋值运算符
            =
        一元运算符
            ++    自增
                前置
                    ++a;    先自增,再使用
                后置
                    a++;    先使用,再自增
            --    自减
            +、-    将其他数据类型转换为数字类型
        逻辑运算符
            &&    并且
                两个表达式有一个为false,都返回false
            ||    或
                两个表达式有一个为true,都返回true
            !    非
                取反
                !fasle  // true
        比较运算符
            ==
            !=
                比较值
            ===
            !==
                比较数据类型
        三目运算符
            exp1 ? exp2 : exp3
        拼接运算符
            +
            图片地址的拼接
            视频播放地址的拼接
            根据id查询XXX

学习
    1、基本数据类型之间的转换
        1) 其他数据类型转换为数字类型
            + 、-
            Number()

            1.字符串转数字类型
                var str = '123';
                //方法一
                var num1 = +str;
                //方法二
                var num2 = Number(str);

                console.log('str',typeof(str));    //string
                console.log('num1',typeof(num1)); //number
                console.log('num2',typeof(num2)); //number

                ---

                var str = 'hello world';
                var num = Number(str);
                console.log(num);    // NaN
                console.log(typeof(num));    // number
            2.布尔类型转数字类型
                var a = true;
                var b = false;

                var num1 = Number(a);
                var num2 = Number(b);

                console.log('num1',num1);    //1
                console.log('num2',num2);    //0
            3.null、undefined转数字类型
                var a = null;
                var num = +a;
                console.log(num); //0

                ---

                var a = undefined;
                var num = +a;
                console.log(num); //NaN
            4.parseInt/parseFloat
                var a = 1.123;

                var num1 = parseInt(a);
                var num2 = parseFloat(a);

                console.log('num1',num1); //1
                console.log('num2',num2); //1.123

        2) 其他数据类型转换为字符串类型
            '' 或 ""
            String()
            toString()    null、undefined不可以调用

            var a = 1;

            var str1 = 'a';
            var str2 = String(a);
            var str3 = a.toString();

            console.log('str1',typeof(str1)); //string
            console.log('str2',typeof(str2)); //string
            console.log('str3',typeof(str3)); //string

        3) 其他数据类型转换为布尔类型
            !!
            Boolean()
            1.数字类型转布尔类型
                var a = 1;
                var b = 0;

                var bn1 = !!a;
                var bn2 = Boolean(a);
                var bn3 = !!b;

                console.log('bn1',bn1);    //true
                console.log('bn2',bn2); //true
                console.log('bn3',bn3); //fasle
            2.字符串类型转布尔类型
                var str1 = 'hello';
                var str2 = '';

                var bn1 = !!str1;
                var bn2 = !!str2;

                console.log('bn1',bn1);    //true
                console.log('bn2',bn2); //false
            3.null、undefined转布尔类型
                返回值都为false

    2、流程控制语句
        1) 分支语句(做了不同的选择,会有不同的后果,满足不同的条件,会执行不同的代码)
            if(){}

            if(){} else {}

            if(){} else if(){} else {}

            switch-case

            var password = 123321;
            if(password == '123321'){
                console.log('密码正确')
            }

            var age = 18;
            if(age >= 18){
                console.log('成年人')
            } else {
                console.log('未成年')
            }

            ==>

            三目运算符
            age >= 18 ? '成年人' : '未成年'


            var name = '坚果云'

            if(name == '蓝奏云'){
                console.log('下载速度为11.42MB/s')
            } else if (name == '坚果云'){
                console.log('下载速度为7.34MB/s')
            } else if (name == '天翼云盘'){
                console.log('下载速度为3.02MB/s')
            } else {
                console.log('下载速度为3.02kb/s')
            }

            ---
            var name = '百度网盘';

            switch(name){
                case '蓝奏云':
                    console.log('下载速度为11.42MB/s');
                    break;
                case '坚果云':
                    console.log('下载速度为7.34MB/s');
                    break;
                default:
                    console.log('您使用的是百度网盘')
            }
            注意:
                1、在switch与case之间,不能加其他代码
                2、每一次判断条件结束的时候,都要加break,以跳出switch判断
                    如果没有加break,代码会一直往下继续执行,直到遇到下一个break或者是default,才跳出switch判断

        2) 循环语句
            循环的三要素:初始化条件、结束判定条件、迭代
            for(){}
            while
            do-while

            1.for循环
                for(初始化条件;结束判定条件;迭代){
                    //循环体
                }

                如何实现1-100累加的和?
                    初始化条件        var i=1
                    结束判定条件        i <= 100
                    迭代                i++

                    var result = 0;
                    for(var i=1;i<=100;i++){
                       result = result + i;
                       //result += i;
                    }
                    console.log(result);    //5050

                    result = 0;
                    i = 1
                    i<=100为true
                    result = 0 + 1 = 1
                    i = 2

                    i<=100为true
                    result = 1 + 2 = 3
                    i = 3

                    ...

                    i = 100

                    i<=100为true
                    result = 4950 + 100 = 5050
                    i = 101

                    i<=100为false,跳出for循环

            2.while循环(前置判断循环)
                初始化条件
                while(判定结束条件){
                    循环体
                    迭代
                }

                var result = 0;
                var i = 1;
                while(i<=100){
                    result = result + i;
                    i++;
                }
                console.log(result);

            3.do-while循环(后置判断循环)
                初始化条件
                do {
                    循环体
                    迭代
                } while(判定结束条件)

                var result = 0;
                var i = 1;
                do {
                    result += i;
                    i++;
                } while(i<=100)
                console.log(result);

    3、对象    万物皆可对象
        1) 介绍
            属于复杂的数据类型(引用数据类型),一般情况下,一个对象当中可以包含多个属性和方法。
        2) 对象的规则:    
                1.对象以{}作为边界
                2.一个对象当中可以包含多个属性和方法(方法是一个特殊的属性)
                3.每个属性与属性之间通过逗号分隔
                4.属性名与属性值之间通过冒号分割
                5.属性名可以不使用引号,但是如果属性名包含特殊字符(空格),需要使用引号
                6.属性值一般是具体的值(常量),也可以是变量
                7.最后一个属性值后面不需要加逗号

            var name = '杰普'

            var obj = {
                name:this.name,
                age:25,
                gender:'male',
                phone:13412741213,
                sayMyWork:function(){
                    console.log('我在杰普上班')
                },
                'hello wolrd':function(){

                }
            }

        3) 对象的创建方式
            1.对象字面量
                var obj = {}

                var obj = {
                    name:'xpf',
                    age:25,
                    gender:'male'
                }
            2.Object构造函数
                var obj = new Object();
                obj.name = 'xpf';
                obj.age = 25;
                obj.gender = 'male';
                动态新增属性名

                值传递和引用传递

        4) 对象的访问
            点访问符 .
                var obj = {
                    name:'xpf',
                    age:25,
                    gender:'male'
                }
                console.log(obj.gender);    //male

            中括号访问符    []
                var obj = {
                    name:'xpf',
                    age:25,
                    gender:'male'
                }

                var gender = 'gender'
                console.log(obj[gender]); //male

                console.log(obj['gender']); //male

            思考:如何访问属性hello world
                var obj = {
                    phone:13412741213,
                    'hello wolrd':function(){
                        console.log('hello world')
                    }
                }

        5) 删除属性
            var obj = {
                name:'xpf',
                age:25,
                gender:'male'
            }
            console.log(obj); // { name: 'xpf', age: 25, gender: 'male' }
            delete obj.age;
            console.log(obj); // { name: 'xpf', gender: 'male' }


        数组api    
            pop
            push
            shift
            unshift
            ...

 

 

 

 

 

 

 

 

 

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值