Javascript和Perl split方法之细微差异
以前不太熟悉Javascript的String和Array对象,没想到它也借鉴了其他脚本语言(如Perl)里很多类似功能,比如字符处理功能,如:[*]正则表达式相关(match, replace, search)
[*]split
Array的很多方法则更像Perl里数组的内建方法:
[*]pop/push/shift/unshift
[*]join
[*]slice
这些常见的方法使得文本处理变得十分容易,Javascript借鉴这些方法对于习惯了这些方法的开发者无疑是件好事。但是,Javascript的实现有某些细微的差异,比如split的第二个参数limit在Perl中表示匹配后最大的列数, 而Javascript里则表示取多少个列。以下是具体的例子说明两者的差异:
Javascript的例子:
var s = 'Javascript Perl PHP Progress';
var t = s.split(' ', 2);
console.log(t.join(' '));
输出为 Javascript Perl
Perl的例子:
#!/usr/bin/perl -w
use strict;
my $str = 'Javascript Perl PHP Progress';
my ($t1, $t2) = split(/ /, $str, 2);
print "$t2\n";
输出为 Perl PHP Progress
习惯了Perl的开发者需要特别注意这些细小的差异。
页:
[1]