函数、作用域、

1.函数的预解析

                声明式的函数预解析时,整个函数将被提升到script标签内的最上面

                赋值式的函数预解析时,将赋值的变量提升到script标签内的最上面,后面的赋值函数忽略

2.声明式

 function sayHello(){
                console.log("Hello");
            }
            sayHello()

3.赋值式

var eat=function(){
                console.log("喜欢吃");
            }
            eat() 

4.预解析

        变量预解析:将声明的变量提升至script标签内的最上面

        

console.log(a)//医于变量的预解析,故此处打印的是undefined
            var a=10
            console. log(a)//由于上面已经进行赋值,故此处打印的是10
var a="张三"
        function test(){
            //用来计算两个数的和
            var result=10+20
            // console.log(result);
            console.log(a);
            // return result
        }
        test()
        // console.log(test());
        // console.log(result);

5.作用域

        全局作用域和局部作用域

        全局作用域:整个页面,只有当页面关闭时,全局作用域才会失效

        局部作用域:全局作用域中又划分出的小范围的作用域,函数内部可以创建局部作用域,

        到目前为止,也只有函数内部可以创建局部变量

//全局变量可以在函数内部进行访问,但是函数内部定义的变量不能在函数外部进行访问
            function test_1(){
                var a="李四"//变量采取的是就近原则
                // console.log(a);
                function test_2(){
                    a="王五"
                    // var a="王五"
                }
                console.log(a);
            }
            test_1()
            console.log(a);
            function test_3(){
                num=100
            }
            test_3()
            console.log(num);//自动转换成全局变量


            var c=200
    </script>
    <script>
        console.log(c);
    </script>

6.获取标签的属性值

示例代码

<body>
    <input type="text" value="文本框" id="user">
    <div id="div_0" class="div" stuname="张三">这是一个div</div>
    <div id="div_1" data-index="1" data-lianghaoyu="男"></div>
    <script>
        //获取标签的属性
            // 1. 第一种:元素对象.属性名
                // 第一步先找到标签 第二步获取到改标签的属性
                var input=document.getElementById("user")
                console.log(input.value,input.type);
                //更改属性值
                input.value="用户名"

            //2.自定义属性
                var div_0=document.getElementById("div_0")
                //getAttribute():获取标签的属性的值(包括一些自定义属性的值)
                console.log(div_0.getAttribute("stuname"));
                console.log(div_0.getAttribute("class"));
                //setAttribute():设置属性
                div_0.setAttribute("stuid","1001")
                //attributes():获取的是标签的自带的属性以及自定义属性
                console.log(div_0.attributes);
                console.log(div_0.attributes["id"]);

            //3.自定义属性:data-***
                //dataset:只能获取到data-****的属性
                console.log(div_1.dataset);
                console.log(div_1.dataset.index);
                console.log(div_1.dataset["lianghaoyu"]);
    </script>
</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值