mat*_*tty 11
"无缓冲"表示代码已执行,但结果未发送到输出缓冲区.
"Buffered" 也意味着代码被执行,结果被发送到输出缓冲区.
例如,这个玉:
.unbuffered
- 'unbuffered vs buffered'
.buffered
= 'unbuffered vs buffered'
Run Code Online (Sandbox Code Playgroud)
生成此HTML:
<div class="unbuffered">
</div>
<div class="buffered">unbuffered vs buffered
</div>
Run Code Online (Sandbox Code Playgroud)
我邀请您看看马蒂的回答。
根据我在您共享的文档链接中的理解,我想说有一个主要区别:
无缓冲的代码在读取时不会执行,而是会延迟执行(看起来像 JavaScript),这意味着字符串会被后处理。
看起来他们将字符串映射到内部例程,即混合 js + 模板语言。
另一方面,缓冲代码作为 javascript 执行(首先对其进行预处理以转义 html)。尽管根据您放入的代码,它似乎有不同的行为。
例如,据说这样:
p='Test' + ' concatenation'
Run Code Online (Sandbox Code Playgroud)
将会导致Test concatenation
但现在,你可以这样做:
p=(function() { return 'Does this really work ?! It seems so'; }())
Run Code Online (Sandbox Code Playgroud)
它将导致Does this really work ?! It seems so.
它只是评估您的代码并转义 html。