相关疑难解决方法(0)

console.log()异步还是同步?

我目前正在阅读Trevor Burnham的Async Javascript.到目前为止,这是一本很棒的书.

他谈到这个片段和console.log在Safari和Chrome控制台中是"异步"的.不幸的是我不能复制这个.这是代码:

var obj = {}; 
console.log(obj); 
obj.foo = 'bar';
// my outcome: Object{}; 'bar';
// The book outcome: {foo:bar};
Run Code Online (Sandbox Code Playgroud)

如果这是异步,我会预期结果将成为书籍的结果.console.log()被放入事件队列中,直到执行完所有代码,然后运行它并具有bar属性.

虽然它正在同步运行但它似乎出现了.

我运行此代码错了吗?console.log实际上是异步吗?

javascript asynchronous

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

JavaScript有未定义的行为吗?

JavaScript是否具有未定义的行为(类似于C),还是完全由规范定义,并且确定性?

请注意,我正在丢弃实现错误和规范差异.我也在丢弃像Math.random()和的东西Date.now().

是否有一段JavaScript代码的行为不完全由JavaScript规范决定,因此具有"未定义的行为"?

javascript undefined-behavior

19
推荐指数
3
解决办法
1606
查看次数

Javascript 中数组作为默认参数安全吗?

我将从 Python 转向 Javascript。在 Python 中,如果使用列表或字典作为函数的默认参数,则每次调用都会看到相同的对象。所以如果你有一个像这样的函数:

def append_to_list(lst=[]):
  lst.append(1)
  return lst
Run Code Online (Sandbox Code Playgroud)

然后这样称呼它:

lst1 = append_to_list()
lst2 = append_to_list()
Run Code Online (Sandbox Code Playgroud)

lst2将会有价值[1, 1]而不仅仅是[1]

Javascript 对于默认参数也有同样的问题吗?

javascript python default-arguments

6
推荐指数
1
解决办法
519
查看次数