Chrome DevTools:这个箭头是什么意思(&lt ;-)是什么意思?

时间:2014-02-17 04:26:29

标签: javascript while-loop google-chrome-devtools

我对Chrome DevTools中的这个符号(&lt ;-)

感到困惑

javascript while loop in DevTools Console

它是返回值还是控制台值?

当我在循环中运行时

var i = 0;
while (i < 5) {
    console.log(i);
    i++;
}

控制台日志吐出4次,最后4次在前面有一个(&lt ;-),这是什么意思?

1 个答案:

答案 0 :(得分:6)

这与eval函数的性质有关。请注意:

var i = 0, j = while(i < 5) { i++; };

产生编译错误。然而,

var i = 0, j = eval('while(i < 5) { i++; }');

将值4分配给j。为什么是这样?引自MDN

  

eval()返回最后评估的表达式的值。

简而言之,它会评估表达式中console.log的所有调用,然后记录eval - ed表达式本身的返回值,这恰好是最后一个的结果。 i++