在书中:“JavaScript Ninja的秘密”作者演示了这段代码:
<script type="text/javascript">
var outerValue = 'ninja'
function outerFunction() {
assert(outerValue, "I can see the ninja");
}
outerFunction();
</script>
输出为:I can see the ninja
。
什么是断言?为什么不直接使用console.log?
答案 0 :(得分:2)
Javascript断言,官方解释:
assert(value[, message])
消息周围的方括号表示第二个参数是可选的。
javascript assert测试第一个参数(值)是否真实,如果是,则将第二个可选参数打印到stdout。
assert(outerValue, "I can see the ninja");
你的变量outerValues
有字符串&#34; ninja&#34;,javascript评估它的真实性,它是真实的,所以输出&#34;我可以看到忍者&#34;。
答案 1 :(得分:2)
“断言”是一种非标准功能。虽然所有主流浏览器似乎都以某种形式出现。
如果断言为true,它会向控制台写入一个值。在这种情况下,outerValue等于真值(例如,不是假)。它对测试很有用,不建议用于生产。它首先计算一个布尔值以确定它是否应该打印消息这一事实使它与console.log不同。