精华内容
下载资源
问答
  • 局部变量和全局变量的区别 局部变量与全局变量的划分 如果未对成员变量设制初始值,则系统会更具成员变量的类型自动分配初始值,int 分配初始值为0,Boolean的初始值为false,而自定义的类型会分配初始值为null,...

    局部变量和全局变量的区别

    局部变量与全局变量的划分
    在这里插入图片描述
    1,全局变量
    如果未对成员变量设制初始值,则系统会更具成员变量的类型自动分配初始值,int 分配初始值为0,Boolean的初始值为false,而自定义的类型会分配初始值为null,比如引用类型string .
    在这里插入图片描述
    成员变量定义后,其作用域是其所在的整个类中,成员变量的定义没有先后顺序,但是最好将成员变量的定义集中在类的顶部
    2,局部变量
    在这里插入图片描述
    局部变量的定义范围在,
    1,代码块。
    2,非静态代码块,创建对象执行。
    3,方法参数列表,方法体内定义的变量属于局部变量。
    他的作用域在从定义位置开始,所在当前最近语句块时候结束。
    就局部变量没有默认值,所以使用的时候应先赋值。
    在这里插入图片描述
    double a = 0;
    {
    System.out.println(a);
    int a=100;
    System.out.println(this.a);//如果局部变量的变量名与成员变量的变量名相同,则在局部变量作用范围内使用的是局部变量的值;如果使用全局变量,则需要使用this
    }

    static {
    	int a=100;
    	System.out.println(new Student().a);//this不能用在静态方法或代码块中,
    }
    
    public static void main(String[] args) {
    	
    }
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190727153241192.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzOTUyNjEw,size_16,color_FFFFFF,t_70)
    其中类是一个模板可以创建很多类象,this就是这个当前作用类象,而static修饰的方法中修饰的都是类的,如果使用的都是类来调用而不是对象,则this就不能合适的指向对象,所以在static中不能使用this。
    java中的static是类区域,换句话说就是所有该类的所有实例共享的区域,而this指的是当前的类实例索引。在类区域中是无法确定某个类实例的。
    
    展开全文
  • 本文主要是向大家详细的对比分析了javascript中局部变量和全局变量的区别,是篇非常不错的文章,值得仔细去品读,推荐给小伙伴们。
  • (推荐学习:PHP编程从入门到精通)4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组在 php中函数是有独立作用域,所以局部变量会覆盖全局变量,即使局部变量中没有全局变...

    变量是存储信息的容器:

    467533dd95a11e6f93034ae6beb52c7b.png

    1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。

    2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。

    3、函数之间存在作用域互不影响。(推荐学习:PHP编程从入门到精通)

    4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组

    在 php中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会被覆盖。如下:<?php

    $a=5;

    $b=3;

    function t()

    {

    echo $a-$b; // 输出 0

    }

    t();

    ?>

    要想在函数中直接使用全局变量可以通过 global 关键字声明或者通过 php 中自定义的 $GLOBALS 数组获取:<?php

    $a=5;

    $b=3;

    function t1()

    {

    global $a,$b;

    echo $a-$b; // 输出 2

    }

    t1();

    echo PHP_EOL;

    function t2()

    {

    echo $GLOBALS['a']-$GLOBALS['b']; // 输出 2

    }

    t2();

    ?>

    展开全文
  • PHP 局部变量全局变量在 PHP 中中全局变量和局部变量的定义是和 C 语言类似的。在函数外定义的变量称为全局变量,在函数内定义的是局部变量。但是,想要在函数内部使用全局变量却不可以直接使用,而是要先通过 ...

    首先,PHP 中从变量的范围上可以分为 4 类,分别是静态变量、局部变量、全局变量和超全局变量。

    PHP 局部变量与全局变量

    在 PHP 中中全局变量和局部变量的定义是和 C 语言类似的。在函数外定义的变量称为全局变量,在函数内定义的是局部变量。但是,想要在函数内部使用全局变量却不可以直接使用,而是要先通过 global 关键字声明:

    $gVar1 = "hello";

    $gVar2 = "world!!";

    say_hello();

    function say_hello(){

    global $gVar1;

    echo $gVar1;

    echo $gVar2;

    }

    ?>

    运行结果:

    1865

    可以看到,结果只输出了 hello,然后就报错了。因为在函数外定义了两个全局变量,而在函数内部只有$gVar1用 global 关键字声明了,所以能正常输出 hello。

    因为$gVar2没有 global 声明,所以,PHP 认为$gVar2是一个局部变量,而函数内部又没有定义该局部变量,所报错说:Undefined variable:gVar2 …

    在函数内部使用全局变量还可以通过$GLOBALS 数组实现:

    $gVar1 = "hello";

    $gVar2 = "TOMORROW www.tomorrow.wiki !!";

    say_hello();

    function say_hello(){

    $localVar = $GLOBALS['gVar1'] . " " . $GLOBALS['gVar2'];

    echo $localVar;

    }

    ?>

    输出结果:

    hello TOMORROW www.tomorrow.wiki !!

    PHP 超全局变量

    上面所用的这个$GLOBALS 其实是一个超全局变量,超全局变量的生效范围要比全局变量大。

    超全局变量只要被定义了,无论是在函数外部还是函数内部,都可以直接使用,无需额外的声明(与 C 语言的全局变量一样)。

    PHP 预定义变量中的超全局变量:

    $GLOBALS

    $_SERVER

    $_GET

    $_POST

    $_FILES

    $_COOKIE

    $_SESSION

    $_REQUEST

    $_ENV

    PHP 静态变量

    静态变量和 C 语言中的作用一样:

    say_hello();

    say_hello();

    say_hello();

    function say_hello(){

    static $staticVar = 0;

    $staticVar+=66;

    echo $staticVar;

    echo "";

    }

    ?>

    输出结果:

    66

    132

    198

    可以看到调用三次函数,输出的结果是不一样的。

    因为静态变量只会进行一次初始化定义,虽然它的生效范围仅限于函数内部,然而,它的生命周期却不等于函数的生命周期。

    也就是说当函数执行完并返回后,静态变量是不会像局部变量一样被销毁的,而是保持着函数返回之前的状态,等待函数的下一次调用。

    TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权

    转载请注明原文链接:PHP 局部变量、静态变量、全局变量和超全局变量的使用和区别

    展开全文
  • 局部变量和全局变量的区别: (1)作用域不同,局部变量作用在一个函数,而全局变量作用在一个进程(正在进行的程序), (2)生存期不同:局部变量随函数的调用而产生,随函数调用完成而销毁空间,全局变量随主函数...

    局部变量和全局变量的区别

    (1)作用域不同,局部变量作用在一个函数,而全局变量作用在一个进程(正在进行的程序),
    (2)生存期不同:局部变量随函数的调用而产生,随函数调用完成而销毁空间,全局变量随主函数的进行而产生随着主函数执行完成而消除。
    (3)分配区间不同:局部变量在 栈区分配空间,但是全局变量在全局数据区申请空间。
    形式参数和实际参数的关系也类似:形式参数随函数调用而分配空间,随函数调用完成而释放空间,并且只作用在被调用的函数。

    展开全文
  • 静态局部变量和全局变量的区别

    千次阅读 多人点赞 2017-09-09 20:45:33
    静态局部变量和全局变量的区别
  • 全局变量的存在主要有以下一些原因:1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不成为什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。 2,使用全局...
  • 【C++ - 21】局部变量和全局变量的区别

    万次阅读 多人点赞 2014-05-29 09:20:47
    局部变量可以与全局变量重名,但是局部变量会屏蔽全局变量。要使用全局变量,需要使用::。在函数体内引用变量会用到同名的局部变量而不是全局变量,对于一些... 具体来说,全局变量和局部变量的区别如下: 1. 作用...
  • 本文分析了PHP全局变量与超级全局变量区别。分享给大家供大家参考,具体如下:全局变量就是在函数外面定义变量。不能在函数中直接使用。因为它作用域不会到函数内部。所以在函数内部使用时候常常看到类似...
  • 变量可以分为局部变量和全局变量。—————————————————————————————————————————————————例一:function fun1(){$a=100;echo $a;}function f...
  • 如果变量作为全局变量局部变量传递给Python的函数eval(),这有什么区别呢?在与described in the documenation一样,如果没有显式给出,Python将把__builtins__复制到全局变量。但我看不出还有其他的区别。在考虑...
  • 全局变量的存在主要有以下一些原因: 1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不成为什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。 2,...
  • PHP全局变量与超级全局变量区别分析,php全局变量区别本文分析了PHP全局变量与超级全局变量区别。分享给大家供大家参考,具体如下:全局变量就是在函数外面定义变量。不能在函数中直接使用。因为它作用域不会到...
  • 全局变量是在函数外部定义声明变量,我们需要在函数内部使用它们。# This function uses global variable sdef f():print s# Global scopes = "I love Geeksforgeeks"f()输出:我喜欢Geeksforgeeks如果在函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,321
精华内容 1,728
关键字:

局部变量和全局变量的区别