前端的第十六天(JavaScript作用域、预解析、对象)

前端的第十六天(JavaScript作用域、预解析、对象)

一、作用域

在这里插入图片描述

1.作用域

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

    <script>
        var num = 321;
        if(true){
            var num = 123;
            console.log(num);
        }
        console.log(num); //输出为123
    </script>

2.变量的作用域

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.作用域链

在这里插入图片描述
在这里插入图片描述
答案是输出123
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
答案是a为4 , b为‘22’

二、预解析

在这里插入图片描述

1.预解析

在这里插入图片描述
报错
在这里插入图片描述
undefined
在这里插入图片描述
undefined
在这里插入图片描述
报错
在这里插入图片描述

2.变量预解析和函数预解析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
function a() { return false; } ; 1

3.预解析案例

在这里插入图片描述
undefined
在这里插入图片描述
undefined ; 20
在这里插入图片描述
undefined ; 9
在这里插入图片描述
9 ; 9 ;9 ; 9 ; 9 ; 报错

三、对象

在这里插入图片描述

1.对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.创建对象的三种方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

    <script>
        var obj = {
            name : '可可',
            type : '阿拉斯加犬',
            age : 5,
            color : '棕红色',
            bark : function(){
                alert('汪汪汪');
            },
            showFile : function(){
                alert('演电影');
            }
        }
        console.log(obj.age);
        console.log(obj['type']);
        console.log(obj.bark());
        console.log(obj.showFile());
    </script>
</body>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

    <script>
        var obj = new Object();
        obj.name = '鸣人';
        obj.sex = '男';
        obj.age = 19;
        obj.skill = function(){
            alert('影分身');
        }
        console.log(obj.name);
        console.log(obj.sex);
        console.log(obj.age);
        console.log(obj.skill());
    </script>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

    <script>
        function Hero(name,type,blood){
            this.name = name;
            this.type = type;
            this.blood = blood;
            this.attack = function(attack) {
                console.log(attack);
            }
        }

        var houyi = new Hero('后羿','射手','3200');
        var lianpo = new Hero('廉颇','坦克','5600');
        lianpo.attack('远程');
        console.log(houyi.blood);
        console.log(houyi.name);
        console.log(houyi.type);
        console.log(lianpo.blood);
        console.log(lianpo.name);
        console.log(lianpo.type);
        houyi.attack('近程');
    </script>

在这里插入图片描述

3.new关键字

在这里插入图片描述

4.遍历对象属性

在这里插入图片描述

5.小结以及作业

在这里插入图片描述
在这里插入图片描述

    <script>
        function Computer(color,height,brand){
            this.color = color;
            this.height = height;
            this.brand = brand;
            this.skill = function(skill){
                console.log(skill);
            }
        }
        var computer = new Computer('white','2kg','asus');
        computer.skill = ('敲代码');
        for(k in computer){
            console.log(computer[k]);
        }
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值