函数语句块
Scope 函数生存期,变量作用域
变量与作用域. 局部的存在自动屏蔽外部(同此块级作用域)作用域作为可访问变量,对象,函数的集合
Bash
#!/bin/bash
## bash:bash宿主存在内部命令
var="helloworld"
function func {
echo $var
funvar="hellofunc"
local funcvar2="hellofunc2"
}
func #可以访问全局变量
echo $funvar #可以访问函数变量
echo $funcvar2 #无法访问函数局部变量
## 声明局部变量
Perl
## Perl:Perl宿主存在内部命令
$var="helloworld";
sub func {
print $var ."\n";
$funvar="hellofunc";
my $funvar2="hellofunc2";
}
func; #可以访问全局变量
print "$funvar\n"; #可以访问函数变量
print "$funvar2\n"; #无法访问函数局部变量
## 声明局部变量
Javascript
// Javascript: js宿主存在内部命令
var var1 = "helloworld";
function func() {
document.write(var1);
funcvar = "hellofunc";
let funcvar2 = "hellofunc2";
window.var1=window.funcvar;
}
func(); //可以访问全局变量
document.write(funcvar); //可以访问函数变量
document.write(funcvar2); //无法访问函数局部变量
document.write(var1); //全局变量对象
// 声明局部变量
PHP
<?php
## PHP:不存在PHP宿主内部命令
$var=5;
$var2=10;
const VAR3=15;
function func()
{
global $var2;
$funvar="hellofunc";
echo $var; #函数无法访问全局变量
echo $var2; #global关键字,可以访问全局变量
echo VAR3; #常量作用域在整个脚本中,类似bash的变量
$GLOBALS['var1']=$funvar; #全局变量数组
}
func();
echo $funvar; #无法访问函数局部变量
echo $var1; #全局变量接受局部变量
# 默认定义局部变量
?>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义