每次console.log执行时,都会undefined在输出日志中附加一行说明.
适用于Windows和Linux上的Firefox和Chrome.
我之前问了这个问题,在仔细考虑了这个话题之后,我开始想知道"陈述"和"表达"这两个词之间看似模糊的界限在哪里.所有陈述都是表达式吗?REPL控制台中的返回值来自哪里?它们似乎并不总是具有直观意义.当然,如果你输入1+1,你会得到2,但有时候它的逻辑并不明显.
鉴于在REPL中输入的任何内容都会产生一些价值,这是否意味着它可以在JS源代码中用作表达式和独立语句?
可以_X_在以下代码段中使用的代码串也可用于_Y_反之亦然?if(_X_) _Y_
使用 Rhino,日志对话框(“command + Enter”或“视图”菜单中的日志)会立即显示日志。但是,对于使用 V8 引擎的测试项目,即使加载最简单的日志也需要 10-20 秒,并显示消息“正在等待日志,请稍候...”
“Logger.log”或“console.log”加载日志都很慢。有没有其他人遇到同样类型的缓慢?这是新引擎的预期吗?
先感谢您!
这是我用于测试的基本功能:
function logTest() {
Logger.log("log test");
}
Run Code Online (Sandbox Code Playgroud) 我使用Chrome控制台编写了一个简单的声明:
console.log(4)
Run Code Online (Sandbox Code Playgroud)
并收到输出:
4
Run Code Online (Sandbox Code Playgroud)
undefined
未定义的陈述是什么意思?未定义的语句是否意味着正确执行?如果我通过一个单独的html文件执行语句,然后查看控制台,输出只是4.
在我的 index.js 代码中,我检查了 process.env.NODE_ENV 变量的值,并期望它是“生产”,但在 Heroku 上,该变量注册的值是“开发”。
我读过 Heroku 默认情况下将此值设置为“生产”,但由于某种原因,它仍然注册为“开发”,即使我在 Config Vars 下显式设置该值,它仍然显示它正在开发。以下是我的 index.js 文件中的条件:
if (process.env.NODE_ENV === 'production') {
// serve production assets...
} else {
// serve development assets...
}
Run Code Online (Sandbox Code Playgroud)
如果我将线路更改为...
if (process.env.NODE_ENV === 'development') {
Run Code Online (Sandbox Code Playgroud)
生产资源在 Heroku 上得到了很好的服务。
关于如何让 process.env.NODE_ENV 在 Heroku 上注册为“生产”,有什么想法吗?
编辑:
在我的 webpack.js 文件中我正在这样做......
const env = process.env.NODE_ENV;
const config = {
mode: env || 'development'
};
module.exports = {
// some code...
...config, // 'development' or 'production' mode
// more code...
}
Run Code Online (Sandbox Code Playgroud)
我确实尝试将此值硬编码为“生产”,如下所示...... …
我刚遇到这个奇怪的问题.我不记得我以前拥有它,但自从我上次开发Chrome产品以来已经有一段时间了.
下面的图片几乎说明了它:
为什么Chrome控制台会不断返回undefined for console.logcommand?console.log在js脚本中使用的任何内容也返回相同的内容.
更新
console.log.toString() 回报 "function log() { [native code] }"
javascript ×3
console ×2
logging ×2
debugging ×1
expression ×1
heroku ×1
node.js ×1
semantics ×1
terminology ×1
v8 ×1