设为首页 收藏本站
查看: 1008|回复: 0

[经验分享] Perl与JS的比较(基本数据类型)

[复制链接]

尚未签到

发表于 2015-12-26 09:55:40 | 显示全部楼层 |阅读模式
一、数字
  和JS一样,用双精度浮点数(double-precision floating-point)表示。不同于JS的如下
  1,整数直接量中可以插入下划线,看起来比较清楚,如 11222333 等同于 11_222_333



if (11222333 == 11_222_333) {
print 'true';
} else {
print 'false';
}

  运行后将打印出true。
  2,Perl除了支持十进制、八进制、十六进制还支持二进制,JS不支持二进制数字表示法。Perl中二进制以0b开头,如0b1110等价于十进制的14。



print 0b1110;

  运行后将打印出14。
  3,Perl支持双星运算符表示乘幂(exponentiation),如 2**3 == 8,JS不支持。
  

二、字符串
  1,字符串用单引号,双引号表示。双引号里斜杠可转义。双引号里方式与JS方式很不同,可以插入变量,插入列表,数组。
  2,双引号里转义符多了如下


  • \l  将下个字母转成小写
  • \L 将它后面所有的字母转成小写
  • \u 将下个字母转成大写
  • \U 将它后面所有的字母转成大写
  • \O 把它和\E之间的字符加反斜线转义
  • \E 结束\L、\U和\0开始的作用范围
  3,字符串连接使用点操作符,如 'Hello, '.'world!';JS使用加号,如'Hello '+'world!'。
  4,具有字符串重复操作符x(小写x),JS没有。如:'ab'x3 == 'ababab'。
  

三、没有Boolean类型,JS有。Perl用一些简单的规则判断


  • 如果是数字,0为假,其它为真
  • 如果是字符串,空字符串为假,其它为真。
  • 既不是数字又不是字符串,就把它转成数字或字符串再行判断
  第二点需要注意,""在Perl和JS里都为假;但"0"在Perl为真,JS里为假。
  

四、没赋值的变量值是undef, JS是undefined
  判断变量是否是undef用defined函数(Perl内置),JS没有内置函数,但可以用typeof运算符 typeof a == 'undefined' 或 a === undefined。
  

五、数字比较用 ==, !=, <, >, <=, >=,字符串比较用eq, ne, le, gt, le, ge。JS不区分。

六、Perl和JS都具有自动类型转换,比如数字与字符串,对象与基本类型。
  

七、Perl具有列表直接量,JS具有数组直接量,但展现形式不同
  1,圆括号用逗号隔开,如



(1, 2, 3, 4) # 数字列表
('a', 'b', 'c') # 字符串列表
(0..9) # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
  2,还可以使用qw简写方式,除了用圆括号Perl还允许用任意标点符号作为定界符,前后定界符也可以不同,但必须是对称。如



qw(a b c)
qw(hello world)
qw/hello world/
qw!hello world!
qw#hello world# # 此处不是注释
qw{hello world}
qw[hello world]
qw<hello world>

  要注意的是qw里的元素默认都是字符串,因为qw表示的其实是“quoted word”。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-156442-1-1.html 上篇帖子: Perl语言学习笔记(一) Perl之初体验 下篇帖子: [手机取证] Creating a Perl script to retrieve Android SMS
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表