JavaScript、PHP、Python、Java作用域

JavaScript作用域

函数内外定义默认都是全局变量


name = "Tom" ;

function func() {
    age = "23" ;        // 默认是全局变量
    let sex = "man" ;   // 定义局部变量
    console.log(name) ; // Tom
}

func();

console.log(age) ; // 23
console.log(sex) ; // ReferenceError: sex is not defined

PHP作用域

函数内外定义默认都是局部变量

<?php

$name = "Tom" ;

function func() {
    $age = "23" ;     // 默认是局部变量
    
    $GLOBALS['sex'] = "man" ;  // 定义全局变量
    
    var_dump($name) ; // NULL  默认不能访问全局变量
    
    global $name ; // 声明name为全局变量
    var_dump($name) ; // string(3) "Tom"
}

func();

var_dump($age) ; // NULL
var_dump($sex) ; // string(3) "man"

Python作用域

函数外是全局变量
函数内是局部变量

函数内可以访问函数外,函数外不能访问函数内


name = "Tom"

def func() :

    age = "23"  # 默认局部变量

    global sex   # 定义全局变量
    sex = "man" 
       
    print(name)    # Tom


func()

# print(age) ; # NameError: name 'age' is not defined
print(sex)  # man

Java作用域

括号外是全局变量
括号内是局部变量

括号内可以访问括号外,括号外不能访问括号内


class Demo{

    public static void main(String[] args) {
        String name = "Tom" ;

        {
            int age = 23 ;        // 默认是局部变量
            System.out.println(name) ; // Tom
        }

        // System.out.println(age) ; // 错误: 找不到符号
    }
}

总结

语言默认作用域访问情况
JavaScript全局变量任何地方
PHP局部变量内外不互通
Python局部变量内可以访问外,外不能访问内
Java局部变量内可以访问外,外不能访问内
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值