【发布时间】:2023-01-27 23:17:33
【问题描述】:
console.log("%%%","\n");
只产生两个“%”字符和一个换行符(一个百分号被删除)
console.log("%%%"+"\n");
按预期生成所有 3 个字符....
如果我用任何其他字符替换“%”字符,两个示例都会输出 3 个字符和一个换行符……只有“%”字符才会删除其中一个字符。
https://replit.com/@JustJamie/PercentSignConfusion#index.js
我曾尝试寻找对这种现象的解释,但找不到之前提到过的任何内容。我试过用许多其他字符替换“%”字符,包括所有特殊字符,并且只使用 % 字符得到这个结果。
在输入这个问题时,我可能已经找到了答案。我相信正在发生的事情是 javascript 将 % 符号解释为占位符,然后将占位符的最后一个实例替换为传递给 console.log 的第二个参数中的换行符。任何人都可以找到解释这个的 javascript 参考吗?
【问题讨论】:
-
这是故意的。 Chrome 提供了一种在日志消息中使用自定义样式来控制日志的方法。见developer.chrome.com/docs/devtools/console/format-style
-
了解
console.log()。它的第一个参数是格式字符串。 -
如果你想确保你不应用 chrome 格式,那么将另一个字符串放在控制台日志的第一个参数中,如下所示:console.log('', '\%\%\%', '\n')
标签: javascript