老师 帮我看看 我的理解哪里出错了

来源:4-16 选择练习

豆包侠

2022-05-17 14:00:11

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    <script>

        document.write(a);  // 此处应该是第一个输出 a并没有被声明 这里应该是报错

        var a=1;  //全局变量1 


        

        function a(){

            document.write("a1"); 

        }

        function a(){

            document.write('a2');  // 这里预解析时如果函数名和函数名冲突,谁在后面的时候保留谁


        }

        document.write(a); //这里输出的a 不应该是第二行的 a=1吗

        a();  //调用第二个函数结果  document.write('a2');

    </script>

</body>

</html>


写回答

1回答

好帮手慕小李

2022-05-17

同学你好,老师稍作了改动把document.write改成了console.log这样以便测试看结果。详解如下:

https://img.mukewang.com/climg/62833fcd0902895927480645.jpg

https://img.mukewang.com/climg/62834028098ffcf523920308.jpg

老师改动后的代码如下:

<script>

        console.log(a,"我是第一个a");  // 此处应该是第一个输出 a并没有被声明 这里应该是报错

        var a = 1;  //全局变量1 

        function a() {

            console.log("a1");

        }

        function a() {

            console.log('a2');  // 这里预解析时如果函数名和函数名冲突,谁在后面的时候保留谁  

        }

        console.log(a,"我是倒数第二个a"); //这里输出的a 不应该是第二行的 a=1吗 

        // 最后a调用会报错, a is not a function这是因为a这个时候已经等于1,它已经不是个方法了,所以不能调用。

        a();  //调用第二个函数结果  document.write('a2');

</script>

同学试着理解一下,祝学习愉快!

0

0 学习 · 14456 问题

查看课程