变量的作用域

末蓝、 2023-08-17 16:08 219阅读 0赞

1、局部变量和全局变量

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Java Script</title>
  6. <script type="text/javascript">
  7. var welcome = function() {
  8. var String1="我是局部变量";
  9. console.log(String2);
  10. }
  11. </script>
  12. </head>
  13. <body bgcolor="aquamarine">
  14. <script>
  15. var String2="我是全局变量";
  16. welcome();
  17. </script>
  18. </body>
  19. </html>

1392562-20190829095334392-169959903.png

可以通过局部访问全局变量,但是不能在函数的外面访问局部变量。是局部变量还是全局变量关键是看var的位置。

例如:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Java Script</title>
  6. <script type="text/javascript">
  7. function welcome(){
  8. num1=2;
  9. console.log(num1);
  10. }
  11. </script>
  12. </head>
  13. <body bgcolor="aquamarine">
  14. <script>
  15. var num1 = 1;
  16. welcome();
  17. console.log(num1);
  18. </script>
  19. </body>
  20. </html>

返回的结果都是2,他们都是在对全局变量进行操作。

2、变量的声明提前

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Java Script</title>
  6. <script type="text/javascript">
  7. </script>
  8. </head>
  9. <body bgcolor="aquamarine">
  10. <script>
  11. console.log(num1);
  12. var num1 = 1;
  13. console.log(num1);
  14. </script>
  15. </body>
  16. </html>

1392562-20190829101320764-482610034.png

在程序中第一次输出num1之前,num1还未被声明过,如果按java和c的语法,这样是会报错的,但是javascript在执行时遵循声明提前方式,实际上是这样执行的:

  1. var num1
  2. console.log(num1);
  3. num1 = 1;
  4. console.log(num1);

即:把声明放在作用域的最前面。

转载于:https://www.cnblogs.com/zhai1997/p/11428263.html

发表评论

表情:
评论列表 (有 0 条评论,219人围观)

还没有评论,来说两句吧...

相关阅读

    相关 php变量作用

        前段时间在用php写一个留言本时就出现了一个问题,当时是解决了,可没有明白原因。今天在看一本php的书时,终于明白了其原因。其实就是变量的作用域的问题。下面我来说一说p

    相关 golang:变量作用

    一个变量(常量、类型或函数)在程序中都有一定的作用范围,称之为作用域。 了解变量的作用域对我们学习Go语言来说是比较重要的,因为Go语言会在编译时检查每个变量是否使用过,一旦

    相关 Python变量作用

    Python程序有各种各样的命名空间,它指的是在该程序段内一个特定的名称是独一无二的,它和其它同名的命名空间是无关的。 在Python中每一个函数都有自己的命名空间,如果在函

    相关 javascript变量作用

    基本类型和引用类型 基本类型值指的是简单的数据段,而引用类型值指的是那个可能由多个值组成的对象 讲一个值赋值给变量时,javascript解析器首先要确定是基本类型还是