我们可以做的:
NaN = 'foo'
Run Code Online (Sandbox Code Playgroud)
以及
undefined = 'foo'
Run Code Online (Sandbox Code Playgroud)
为什么他们不是保留关键字?
编辑1(DownVoters):
我认为它应该实现,以确保当我们寻找一个number,它是一个number:)
如果我们应该使用IsNaN()或typeof为什么NaN或undefined需要?
DateTime start = new DateTime().withYear(1884);
System.out.println(start);
System.out.println(start.minusYears(1));
Run Code Online (Sandbox Code Playgroud)
产量
1884-01-11T08:26:10.234-08:00
1883-01-11T08:26:10.234-07:52:58
Run Code Online (Sandbox Code Playgroud)
编辑1:我不对.它没有删除1.02秒
DateTime start = new DateTime().withYear(1884);
DateTime other = start.minusYears(1);
long diffMs = start.getMillis() - other.getMillis(); //31536422000
Run Code Online (Sandbox Code Playgroud)
编辑2:
有趣的是,我对输出感到困惑toString();- (-08:00,-07:52:58)
编辑3:
使用Java Calendar,我看不出任何差异:
Calendar cal = Calendar.getInstance();
cal.set(start.getYear(),
start.getMonthOfYear(),
start.getDayOfMonth(),
start.getHourOfDay(),
start.getMinuteOfHour(),
start.getSecondOfDay());
System.out.println(cal.getTime());
cal = Calendar.getInstance();
cal.set(start.getYear()- 1,
start.getMonthOfYear(),
start.getDayOfMonth(),
start.getHourOfDay(),
start.getMinuteOfHour(),
start.getSecondOfDay());
System.out.println(cal.getTime());
Run Code Online (Sandbox Code Playgroud)
输出:
Mon Feb 11 18:46:42 PST 1884
Sun Feb 11 18:46:42 PST 1883
Run Code Online (Sandbox Code Playgroud) 有时一些开发人员忘记删除debugger;javascript代码,并在IE上产生javascript错误.if(window.console){console.log('foo');}如果调试器存在,您如何检查(如控制台:)
顺便说一句:我不想检测浏览器是否是IE,如果可能我想要一个通用的方法谢谢,
public static class Map extends MapReduceBase implements Mapper
Run Code Online (Sandbox Code Playgroud)
MapReduceBase,Mapper并JobConf在Hadoop 0.20.203中弃用.
我们现在应该怎么用?
编辑1 - 对于Mapper和MapReduceBase,我发现我们只需要扩展Mapper
public static class Map extends Mapper
<LongWritable, Text, Text, IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(LongWritable key, Text value,
OutputCollector<Text, IntWritable> output,
Reporter reporter) throws IOException {
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
output.collect(word, one); …Run Code Online (Sandbox Code Playgroud) 1. >>> const a = 2
2. >>> var a = 3
3. >>> a = 4
4. >>> a // print 2
Run Code Online (Sandbox Code Playgroud)
为什么允许操作线3?const似乎比没有任何关键字更"全局"......
之间有什么区别吗?
var a;
(a == undefined)
(a === undefined)
((typeof a) == "undefined")
((typeof a) === "undefined")
Run Code Online (Sandbox Code Playgroud)
我们应该使用哪一个?
我正在编写一个受API保护的REST API的集成测试jwt.一个API操作POST /user/token返回jwt给定的a username和a password,然后该令牌用于操作列表,例如:
GET /user/:id
Run Code Online (Sandbox Code Playgroud)
路由使用的位置jwt({secret: secret.secretToken}),因此令牌包含在http标头中Authorization.
使用超级测试进行测试时,我可以进行嵌套测试,但我想首先获取令牌,然后使用此令牌进行其他操作测试.
POST /user/token => 12345
GET /user/:id, `Authorization Bearer 12345`
GET /user/:foo, `Authorization Bearer 12345`
Run Code Online (Sandbox Code Playgroud)
如何避免为每个操作测试生成新令牌(见下文),但只使用一个由POST/user/token生成的令牌.
it('should get a valid token for user: user1', function(done) {
request(url)
.post('/user/token')
.send({ _id: user1._id, password: user1.password })
.expect(200) // created
.end(function(err, res) {
// test operation GET /user/:id
Run Code Online (Sandbox Code Playgroud) 我在Perl和shell中编写了多个脚本,并且比较了实际的执行时间.在所有情况下,Perl脚本比shell脚本快10倍以上.
所以我想知道是否有可能编写一个比Perl中的同一个脚本更快的shell脚本?为什么Perl比shell更快,尽管我在Perl脚本中使用系统函数?
我写了一个函数
toBeautyString(epoch) : String
Run Code Online (Sandbox Code Playgroud)
给出一个epoch,返回一个字符串,显示从现在开始的小时和分钟的相对时间
例如:
// epoch: 1346140800 -> Tue, 28 Aug 2012 05:00:00 GMT
// and now: 1346313600 -> Thu, 30 Aug 2012 08:00:00 GMT
toBeautyString(1346140800)
-> "2 days and 3 hours ago"
Run Code Online (Sandbox Code Playgroud)
我现在想要将此功能扩展到月份和年份,因此它将能够打印:
2 years, 1 month, 3 days and 1 hour ago
Run Code Online (Sandbox Code Playgroud)
只有没有任何外部库的epoch.此功能的目的是为用户提供更好的方式来显示过去的时间.
我发现这个:计算C#中的相对时间,但粒度不够.
function toBeautyString(epochNow, epochNow){
var secDiff = Math.abs(epochNow - epochNow);
var milliInDay = 1000 * 60 * 60 * 24;
var milliInHour = 1000 * 60 * 60;
var …Run Code Online (Sandbox Code Playgroud) 我需要使用这个方法,在查看源代码之后,我注意到一个StringBuilder不熟悉的初始化(我总是使用no-argument构造函数StringBuilder,ie new StringBuilder()).
在方法中:
StringBuilder sb = new StringBuilder(items.size() << 3);
Run Code Online (Sandbox Code Playgroud)
来自JavaDoc:
java.lang.StringBuilder.StringBuilder(int capacity)
构造一个字符串构建器,其中没有字符和capacity参数指定的初始容量.
为什么这里需要换班?
源代码:
/** Creates a backslash escaped string, joining all the items. */
public static String join(List<?> items, char separator) {
StringBuilder sb = new StringBuilder(items.size() << 3);
boolean first=true;
for (Object o : items) {
String item = o.toString();
if (first) {
first = false;
} else {
sb.append(separator);
}
for (int i=0; i<item.length(); i++) {
char …Run Code Online (Sandbox Code Playgroud) javascript ×4
java ×3
algorithm ×1
benchmarking ×1
const ×1
date ×1
express-jwt ×1
hadoop ×1
jodatime ×1
jwt ×1
keyword ×1
mapreduce ×1
node.js ×1
performance ×1
perl ×1
shell ×1
supertest ×1
time ×1