小编Ror*_*ry 的帖子

添加行console.log会导致不同的返回

我在代码大战中做了一个kata并发现了

    function findNextSquare(sq) {
     var rt = Math.sqrt(sq);
     console.log((rt++)**2)
     return rt%1 !== 0 ? -1 : ((rt++)**2); 
    } //>> 144
Run Code Online (Sandbox Code Playgroud)

    function findNextSquare(sq) {
     var rt = Math.sqrt(sq);
     //console.log((rt++)**2)
     return rt%1 !== 0 ? -1 : ((rt++)**2); 
    } //>> 121
Run Code Online (Sandbox Code Playgroud)

也就是说,只需注释掉console.log会导致不同的返回值......

此外,值得注意:第一个控制台记录121,而不是144.

这是repl.it:https://repl.it/languages/javascript

我想知道这是否与异步性有关.有人能解释为什么删除console.log会改变回报吗?

javascript

0
推荐指数
1
解决办法
95
查看次数

标签 统计

javascript ×1