• JS 基础知识3 变量


    变量和数值相关,它储存了那个值,有了变量就可以储存操作数据了。

    js与其他语言不同,它是非类型的。就是变量可以存放任何类型的值,而其他语言需要存放特定类型的值。

    var i=5;

    i="fdsfad";

    这是合法的。

    变量的声明一般是由VAR 关键字声明的

    var i,sum; //一次声明两个变量,   若变量没有给定初始值,则值为“undefined”

    在JS中多次声明同一个变量,是不会出错的,仅仅是给变量赋值的性质。

    还有一种,不用var关键字声明变量,则JS会隐式的声明该变量,并且为全局变量。

    变量的作用域:

    分为全局变量和局部变量。

    全局变量就是在整个JS代码中,处处都有其定义,处处都可以使用。

    而局部变量,一般在一个函数体中定义,只能在函数体中局部使用,外部不可用,参数同样也是局部变量。

    看到这里,我们更要注意变量的声明,如果在函数内部声明变量,不用关键字var ,它就是全局的变量,如果变量名与外部变量名一样,则修改其中的值

           var s = "sssss";
           function check() {
              // var s = "dddddd";    //加VAR 则是局部变量   对外部s影响
               s = "dddddd";    //无VAR 则是全局变量,对外部全局变量S有影响
               document.write(s + "<br>");
                f = "fffffffff";      //全局变量
                document.write(f+"<br>");
    
            }
            check();
            document.write(s + "<br>");
            document.write(f);
    
    输出:dddddd
    fffffffff
    dddddd
    fffffffff

    这些是我们要注意的var声明的使用。

    在JS中没有块级定义域。

    就是说在函数中声明的所有变量,无论在哪里声明,在整个函数中都是有定义的。

     function test(a) {
                    var i = 0;
                    if (a == 0) {
                        var j = 0;
                        for (var k = 0; k < 10; k++) {
                            document.write(k);    //0-9
                        }
                        document.write(k);       //10
                    }
                    document.write(j);        //0
     }
              test(0);
      var scop = "alls";
                function test1() {
                    alert(scop);           //输出undefined
                    var scop = "local";
                    alert(scop);         //输出local
                }
                test1();
     
    
    由于局部变量在整个函数体内部 都是有定义的,意味着整个函数体中都隐藏了同名的全局变量,其实是与下面函数一样的。
     var scop = "alls";
                function test2() {
                   var scop;
                     alert(scop);           //输出undefined
                    scop = "local";
                    alert(scop);         //输出local
                }
                test2();
                 

    这个我们要了解变量作用域,还有知道js函数中没有块级作用域

  • 相关阅读:
    Python __repr__()方法:显示属性
    Python SQLAlchemy入门教程(基本用法)
    彻底搞懂Token、Session和Cookie。
    MTV和MVC的区别
    Flask配置Cors跨域
    跨域资源共享 CORS 详解
    浏览器同源政策及其规避方法
    敏捷开发
    Nginx搭建正向代理服务器支持https
    为什么使用k8s和容器作为devops的底层平台
  • 原文地址:https://www.cnblogs.com/joe2014/p/3814906.html
Copyright © 2020-2023  润新知