我是JavaScript新手,但来自功能编程背景。在诸如Racket / Scheme之类的语言中,有一个定义区域,您可以在其中编写程序文本,而在 interactions区域中,您具有一个REPL(值在评估后显示)。
使用以下程序按下“运行”按钮:
(define-struct posn (x y))
(define p (posn 2 3))
(posn-x p)
(posn-y p)
将在交互区域(REPL)中产生以下结果:
2
3
>
我知道节点存在REPL,因此我可以执行以下操作:
~ node
> var p = { x : 2, y : 3};
undefined
> p.x
2
> p.y
3
>
如果我在文件中写下全文并运行该程序,则在控制台上没有任何结果(但我希望分别为undefined
,2
和3
)。
var p = { x: 2, y: 3 };
p.x
p.y
node sample_program.js
每当我想查看表达式的值时都必须执行console.log(...)
吗?还是有一种方法可以真正评估表达式?
谢谢。
答案 0 :(得分:0)
如果代码在js文件中,则需要执行console.log()将值输出到浏览器控制台。
如果您只想拥有类似REPL的功能,请使用浏览器控制台编写代码,它将评估表达式
最后,如果您真的想从文件中输出,则可以在输入太多内容的情况下编写console.log()的较短版本
function print(str) {
console.log(str);
}
//Now use print
print(p.x);
print(p.y);
答案 1 :(得分:0)
在Chrome上,您可以直接在控制台中输入表达式以进行评估,它的工作方式类似于标准REPL,不同之处在于您当前所在页面上的代码已在那里加载。 Option-Command-J在Chrome上打开JS控制台。