我最近在 facebook 上运行的脚本之一上看到了这段代码:

__d("Shaka", [], function a(b, c, d, e, f, g) {
    c.__markCompiled && c.__markCompiled();
    var h = {};

对于以 C# 作为主要开发经验背景的人,我不禁注意到 c.__markCompiled && c.__markCompiled(); 行至少看起来很奇怪。我自己编写了相当多的 javascript,但我使用 && 的唯一地方是在 if s、forwhile 等条件语句中。这个语句有什么作用?它背后的逻辑是什么?

最佳答案

线

c.__markCompiled && c.__markCompiled();

实际上与
if (c.__markCompiled) c.__markCompiled();
&& 运算符仅在左侧的评估是真值时才评估其右侧(即,不是 undefinednull0""NaNfalse )。

关于javascript - && 在 2 个条件外的变量之间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37898159/

10-12 12:33
查看更多