【问题标题】:Javascript: Why if(false)?Javascript:为什么如果(假)?
【发布时间】:2010-07-13 17:29:25
【问题描述】:

我在代码中看到了这一点。这让我大吃一惊。

<% if (false) { %>
<script type="text/javascript" src="~/Scripts/jquery-1.3.2.js"></script>    
<% } %>

这显然是不合逻辑的,它必须是故意的。我只能假设这是以某种方式“出现”的,并且有人将其作为解决方法插入。当然,没有 cmets。

为什么有人会这样做?

【问题讨论】:

  • 它是否还包括来自 CDN(如 Google 或 MS)的 jQuery,或者可能与 1.3.2 不同的版本?
  • 不,这是因为接受的答案中给出的原因。

标签: asp.net coding-style if-statement


【解决方案1】:

这是让 Visual Studio 包含用于 jQuery 的 javascript Intellisense 而不实际将脚本发送给调用者的技巧。

Here is an example 来自 Scott Gu 的解释。

【讨论】:

  • 听起来不错。我在
【解决方案2】:

如果将 jQuery 添加到每个 .aspx、.ascx 文件中,Visual Studio 中的 Intellisense 适用于 jQuery。
但不是将它包含在每个文件中,而是仅包含在母版页中。 Visual Studio 解析标记文件并找到对 jQuery 的引用,然后在其上使用提供的智能感知。

您还需要将 vsdocs.js 文件添加到项目中。
你可以阅读更多关于它的信息here。

【讨论】:

    【解决方案3】:

    if(false) 是一种快速而肮脏的方式来注释掉一堆代码

    【讨论】:

    • 比 /* ... */ 快吗?对我来说似乎很糟糕。
    【解决方案4】:

    是否还有另一行代码看起来像

    <script type="text/javascript" src="~/Scripts/jquery-min.1.3.2.js"></script>  
    

    或类似的?我的猜测是写这篇文章的人想要有一种简单的方法来切换大 jQuery 文件以进行调试

    【讨论】:

    • 不错的尝试,但我敢说这不是在 jQuery 版本之间切换的好方法。
    【解决方案5】:

    注释掉代码。

    ASP 不尊重 HTML cmets,所以有些人会用这个,不知道 ASP 有自己的 cmets 语法。

    【讨论】:

    • 这确实像注释一样工作,但语言中有注释语法。如果我假设代码是由 Bad.Developer 编写的,这是有道理的。然而,接受的答案是在 Decent.Developer 的上下文中解释的。
    • @Visonary Software Solutions,您说得对,接受的答案可以更好地解释它,但我之所以留下这个答案只是因为我(可悲)看到人们在他们的意图是注释掉代码。所以先听排名较高的答案,但要知道它也可以这样使用:)
    【解决方案6】:

    这就像一个注释,不要执行脚本。

    【讨论】:

    • 这个问题很明显不是我的答案
    • if (false) 显然永远不会计算为 true。当然它永远不会执行。这确实像注释一样工作,但语言中有注释语法。如果我假设代码是由 Bad.Developer 编写的,这是有道理的。然而,接受的答案是在 Decent.Developer 的上下文中解释的。
    猜你喜欢
    • 2012-11-22
    • 1970-01-01
    • 2021-06-30
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多