在评估数据绑定时,淘汰赛是否针对逻辑运算符进行优化?

发布于 2025-01-01 22:46:10 字数 547 浏览 1 评论 0原文

例如,如果我有:

<div data-bind="visible: viewModel.property1() || viewModel.property2()" />

...如果 viewModel.property1()true,则淘汰赛是否仍会评估 viewModel.property2()

同样,如果我们有:

<div data-bind="visible: viewModel.property1() && viewModel.property2()" />

...如果 viewModel.property1()false,knockout 是否仍会评估 viewModel.property2()

如果确实如此,那么在尝试优化我的绑定时我会牢记这一点。

提前致谢。

For instance, if I have:

<div data-bind="visible: viewModel.property1() || viewModel.property2()" />

... if viewModel.property1() is true, does knockout still evaluate viewModel.property2()?

Similarly, if we have:

<div data-bind="visible: viewModel.property1() && viewModel.property2()" />

... if viewModel.property1() is false, does knockout still evaluate viewModel.property2()?

If it does then I will bare this in mind when trying to optimise my bindings.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮凉 2025-01-08 22:46:10

是的,确实会短路。

绑定的右侧被评估为任意 javascript 块,并且因为 &&和|| JavaScript 中的短路...

Yes, it does short circuit.

The right hand side of the bindings is evaluated as a block of arbitrary javascript, and since && and || short cirtcuit in javascript...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文