Perl与JS的比较(变量)
变量具有 六个属性, Perl将变量分成了标量,数组,哈希。分别以不同的前缀表示。
- $ 表示标量变量
- @ 表示数组变量
- % 表示哈希(对象)变量
$, @, %后标示符要求同JS,由字符串,数字,下划线组成,不能以数字开头。
一、标量变量
1 2 | $str = 'Hello, world!' ; $length = 10; |
JS中一般用var声明,不使用var的默认是全局变量。这里Perl的length也是全局变量(Perl可以使用my关键字定义私有变量)。
1 2 | var str = 'Hello, world!' ; var length = 10; |
二、数组变量
列表是标量的有序集合,数组则是存储列表的变量。Perl用@定义:
1 2 3 4 5 | # 定义一个字符串数组, 使用列表直接量给数组赋值 @arr = qw/Jack Lily snandy/ ; # 取数组第一个元素 print $arr [0]; # 注意,前缀是$,不是@ |
定义数组使用@前缀,取数组元素使用_,也可以自定义一个变量$item。
JS数组变量不用$, @区分,只要遵循标示符规则即可。数组直接量使用中括号表示,如
1 2 3 4 5 | var arr = [ 'Jack' , 'Lily' , 'snandy' ]; alert(arr[0]); arr.forEach( function (name) { alert(name) }) |
三、哈希变量
Perl里的hash对应JS里的对象类型,即key-value形式。Perl用%定义:
1 2 | # 定义一个hash变量,name,age为key %person = ( 'name' , 'Jack' , 'age' , 30); |
这样不好看,多数时候使用下面形式
1 2 3 4 5 6 7 | %person = ( name => 'Jack' , age => 30, ) # 取name值使用$ print $hash { 'name' }; |
JS则简洁多了
1 2 3 4 5 | var peron = { name: 'Jack' , age: 30 }; alert(person.name); |
要注意的是JS最后一个key末尾是不需要加逗号的,强加的话某些浏览器会报错。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端