zoukankan      html  css  js  c++  java
  • Perl与JS的比较(基本数据类型)

    一、数字

    和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用一些简单的规则判断

    1. 如果是数字,0为假,其它为真
    2. 如果是字符串,空字符串为假,其它为真。
    3. 既不是数字又不是字符串,就把它转成数字或字符串再行判断

    第二点需要注意,""在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”。

  • 相关阅读:
    常见寻找OEP脱壳的方法
    Windows内核原理系列01
    HDU 1025 Constructing Roads In JGShining's Kingdom
    HDU 1024 Max Sum Plus Plus
    HDU 1003 Max Sum
    HDU 1019 Least Common Multiple
    HDU 1018 Big Number
    HDU 1014 Uniform Generator
    HDU 1012 u Calculate e
    HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/snandy/p/2750141.html
Copyright © 2011-2022 走看看