var和let都用于javascript中的函数声明,它们之间的区别是,var是函数作用域,let是块作用域。

JavaScript中的var和let的区别(代码示例)-LMLPHP

可以说,与let相比,用var声明的变量在整个程序中都是定义的。

举个例子会更清楚地说明这种区别,如下:

var的例子:

输入:
console.log(x);
var x=5;
console.log(x);
输出:
undefined
5
登录后复制

JavaScript中的var和let的区别(代码示例)-LMLPHP

let的例子:

输入:
console.log(x);
let x=5;
console.log(x);
输出:
Error
登录后复制

JavaScript中的var和let的区别(代码示例)-LMLPHP

让我们看看JavaScript代码:

代码示例1:

<html> 
  
<body> 
    <script> 
        // 定义后调用x
        var x = 5; 
        document.write(x, "\n"); 
  
        // 定义后调用y 
        let y = 10; 
        document.write(y, "\n"); 
  
        // 在定义之前调用var z将返回undefined
        document.write(z, "\n"); 
        var z = 2; 
  
        // 在定义前调用let a会产生错误
        document.write(a); 
        let a = 3; 
    </script> 
</body> 
  
</html>
登录后复制

输出:

JavaScript中的var和let的区别(代码示例)-LMLPHP

代码示例2:

在下面的代码中,单击start将调用一个函数,该函数每0.5秒更改两个标题的颜色。第一个标题的颜色存储在一个var中,第二个标题使用let声明。

然后在函数块之外访问它们。Var将工作,但使用let声明的变量将显示一个错误,因为let是块作用域。

<!DOCTYPE html>
<html>
<head>
    <title>js教程</title>
    <meta charset="UTF-8">
</head>

<body>

<h1 id="var" style="color:black;">javascript教程</h1>
<h1 id="let" style="color:black;">javascript教程</h1>
<button id="btn" onclick="colour()">Start</button>

<script type="text/javascript">
    function colour() {

        setInterval(function() {

            if (document.getElementById('var').style.color == 'black')
                var col1 = 'blue';
            else
                col1 = 'black';

            // 通过var设置color 1的值

            if (document.getElementById('let').style.color == 'black') {
                let col2 = 'red';
            } else {
                col2 = 'black';
            }

            // 通过let设置color 2的值

            document.getElementById('var').style.color = col1;

            document.getElementById('let').style.color = col2;

            // 在html中改变h1的颜色
        }, 500);

    }
</script>
</body>

</html>
登录后复制

输出:

JavaScript中的var和let的区别(代码示例)-LMLPHP

相关推荐:《javascript教程

本篇文章就是关于JavaScript中的var和let之间的区别介绍,希望对需要的朋友有所帮助!

以上就是JavaScript中的var和let的区别(代码示例)的详细内容,更多请关注Work网其它相关文章!

09-12 17:07