【问题标题】:Javascript Function Difference in DOM?DOM中的Javascript函数差异?
【发布时间】:2015-08-18 05:48:18
【问题描述】:

这来自一个朋友的面试问题。

以下函数声明有区别吗?

function foo() {
   // do something
}

function foo()
{
   // do something
}

面试官只说 DOM 对待这些不同。虽然我在网上找不到任何关于此的信息,所以我很好奇是否有人以前听说过。

【问题讨论】:

  • 这只是不同的代码样式格式
  • 一个节省了一行空白,你确定没有一些时髦的分号吗?
  • 确实很重要。请参阅此处:stackoverflow.com/questions/3960518/… 和链接的副本。
  • 一旦缩小,它们都是一样的。
  • 它与 DOM 完全无关。当没有括号时,这是 JS 解释器在做它的事情并在行尾添加一个分号

标签: javascript function


【解决方案1】:

在这种情况下有一个不同的:

function doSomething() {
    return {
        a:1
    };
};
function doNothing() {
    return 
    {
        a:1
    };
};
doSomething(); // Get {a:1}
doNothing(); // Get undefined

【讨论】:

    【解决方案2】:

    因此,正如链接中的示例所示,它可能很重要。 在这种情况下,不,绝对没有区别。如果有的话,我很想看看。

    编码标准是一个宗教问题。有时它们甚至是有意义的。我们总是将大括号放在下一行,因为它使代码更具可读性。

    如果您想对人类观点的弱点发出好笑,只需开始在谷歌上搜索该主题即可。你会发现咆哮和反咆哮。事实是,你是按照你工作的地方的标准写作的。您知道您可能导致的任何问题。这很简单。

    【讨论】:

    • 虽然理论上编码标准没有对错之分,但在实践中,促进(或不减轻)错误和错误的编码标准确实应该被视为。在 javascript 的情况下,总是把大括号放在行尾,因为它只是防止自动分号插入弄乱我们的代码的好习惯。这与在 javascript 中您应该始终以分号结束表达式的原因相同。
    猜你喜欢
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多