缓冲和非缓冲代码有什么区别?

时间:2014-11-14 14:37:46

标签: javascript pug

This文档令人困惑。

它说,无缓冲的代码不会直接输出任何代码。这是什么意思?

但总的来说,缓冲和非缓冲代码有什么区别?

如果他们没有禁用副本并右键单击页面也会很好!

2 个答案:

答案 0 :(得分:11)

"无缓冲"表示代码已执行,但结果发送到输出缓冲区。

"缓冲" 表示代码已执行,结果 已发送到输出缓冲区。

例如,这个玉:

ngRepeat

制作此HTML:

.unbuffered
  - 'unbuffered vs buffered'

.buffered
  = 'unbuffered vs buffered'

答案 1 :(得分:0)

请忽略此答案,因为它在评论

中指出是​​不正确的

我邀请你来看看matty的答案。


根据我在您分享的文档链接中的理解,我会说有一个重大区别:


无缓冲代码在读取时不会执行,但是延迟(看起来像javascript),这意味着该字符串是后处理的。

似乎他们将字符串映射到内部例程,即混合js +模板语言。


另一方面,

缓冲代码作为javascript执行(首先它被预处理以逃避html)。 虽然它根据你放在那里的代码似乎有不同的行为。

例如,据说:

p='Test' + ' concatenation'

将导致Test concatenation

但现在,你可以这样做:

p=(function() { return 'Does this really work ?! It seems so'; }())

这将导致Does this really work ?! It seems so

它只是简化你的代码并逃脱了html。