小编del*_*sin的帖子

带/不带括号的 JavaScript 函数调用

代码_0:

foo不带括号调用)

function foo(){
    console.log('hello world');
}

setTimeout(foo, 2000);
Run Code Online (Sandbox Code Playgroud)

这是如何code_0执行的:

start -> wait for 2 seconds -> 'hello world' displayed -> end
Run Code Online (Sandbox Code Playgroud)

代码_1:

foo用括号调用)

function foo(){
    console.log('hello world');
}

setTimeout(foo(), 2000);
Run Code Online (Sandbox Code Playgroud)

这就是code_1执行的方式:

start -> 'hello world' displayed immediately -> wait for 2 seconds -> end
Run Code Online (Sandbox Code Playgroud)

当我用括号调用函数时,为什么程序的执行会如此不同?其根本机制是什么?

抱歉,如果这个问题太琐碎了。但我找不到任何针对初学者的 javascript 教程的解释。

javascript parameter-passing function-calls parentheses

4
推荐指数
1
解决办法
4609
查看次数

如何处理在 Mongodb 中存储为字符串的日期?

所以我将这个字段称为task_time以字符串'YYYY-MM-DD'形式存储在 Mongodb 中(例如“2012-12-21”)。

现在我需要查询这个集合以获取task_time在给定时间间隔内的数据。

时间间隔以一对字符串形式给出,以'YYYY-MM-DD hh:mm:ss'格式表示开始时间和结束时间(例如,'2015-12-21 16:00:00')。

有什么方法可以直接在 Mongo 查询中执行此操作而无需将此任务带到我的 javascript 代码中?

javascript string datetime mongodb

3
推荐指数
1
解决办法
3213
查看次数

如何按值对字典键排序?

我有个命令{'a': 2, 'b': 0, 'c': 1}

需要按值对键进行排序,以便获得列表 ['b', 'c', 'a']

有没有简单的方法可以做到这一点?

python lambda dictionary

3
推荐指数
1
解决办法
5587
查看次数

Javascript对象赋值的奇怪行为

我是javascript的新手(整体编程新手,真的).我遇到了for/in循环的这种行为,我不太明白.在控制台中使用$ node命令运行以下代码段.

code_0:

var result = {};
var list = ['A', 'B', 'C'];

for(var index in list){
    var id = list[index];
    result[id] = {};
    result[id]['name'] = id;
}

console.log(result);
Run Code Online (Sandbox Code Playgroud)

RESULT_0:

{ A: { name: 'A' }, B: { name: 'B' }, C: { name: 'C' } }
Run Code Online (Sandbox Code Playgroud)

code_1:

var result = {};
var list = ['A', 'B', 'C'];
var INIT = {'a': 0, 'b': 0, 'c': 0,}

for(var index in list){
    var id = list[index];
    result[id] = INIT;
    result[id]['name'] = …
Run Code Online (Sandbox Code Playgroud)

javascript loops object node.js assign

2
推荐指数
1
解决办法
61
查看次数