zoukankan      html  css  js  c++  java
  • 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函数中没有块级作用域

  • 相关阅读:
    PHP $_GET 获取 HTML表单(Form) 或url数据
    dedecms {dede:php}标签用法介绍
    php 连接mysql实例代码
    php 常量、变量用法详细介绍
    mysql出现too many connections错误提示
    支持中文字母数字、自定义字体php验证码程序
    我的LinqToSql学习笔记(1)
    使用Git新建项目 (命令行)
    使用SQL Server Profiler
    sqlserver2008 中使用 表值 参数
  • 原文地址:https://www.cnblogs.com/joe2014/p/3814906.html
Copyright © 2011-2022 走看看