组合两个javascript函数

组合两个javascript函数,javascript,Javascript,结合以下功能有什么好处吗 window.onload = function() { if (localStorage.getItem("txt")) { textarea.value = localStorage.getItem("txt"); changeDocTitle(localStorage.getItem("filename")); isModified = true; } else { changeDocTitle(untitled); }

结合以下功能有什么好处吗

window.onload = function() {
  if (localStorage.getItem("txt")) {
    textarea.value = localStorage.getItem("txt");
    changeDocTitle(localStorage.getItem("filename"));
    isModified = true;
  } else {
    changeDocTitle(untitled);
  }
};

function newNote() {
  if (!isModified || dontSave()) {
    textarea.value = "";
    changeDocTitle(untitled);
  }
  textarea.focus();
}
组合后,它将如下所示:

window.onload = function() {
  if (localStorage.getItem("txt")) {
    newNote(localStorage.getItem("txt"), localStorage.getItem("filename"));
  } else {
    newNote();
  }
};

function newNote(txt, filename) {
  if (!isModified || dontSave()) {
    textarea.value = txt || "";
    changeDocTitle(filename || untitled);
    if (textarea.value) {
      isModified = true;
    }
  }
  textarea.focus();
}
  • 我将使用键盘快捷键调用
    newNote()
    函数
两者之间有什么区别,有什么理由选择其中一种而不是另一种吗?

第二种

如果newNote的作用域仅限于onload函数,则没有理由弄脏全局作用域


编辑

坦白说,这没什么大不了的。如果绑定键盘事件,则函数将在整个文档范围内保持作用域。所以两者都是好的

此外,SO中的问题更面向问题。试试看。第二个

如果newNote的作用域仅限于onload函数,则没有理由弄脏全局作用域


编辑

坦白说,这没什么大不了的。如果绑定键盘事件,则函数将在整个文档范围内保持作用域。所以两者都是好的

此外,SO中的问题更面向问题。试试看。第二个

如果newNote的作用域仅限于onload函数,则没有理由弄脏全局作用域


编辑

坦白说,这没什么大不了的。如果绑定键盘事件,则函数将在整个文档范围内保持作用域。所以两者都是好的

此外,SO中的问题更面向问题。试试看。第二个

如果newNote的作用域仅限于onload函数,则没有理由弄脏全局作用域


编辑

坦白说,这没什么大不了的。如果绑定键盘事件,则函数将在整个文档范围内保持作用域。所以两者都是好的


此外,SO中的问题更面向问题。试试看。

这可能主要是基于观点,但我会选择第二种。
原因:

增加可读性和易于维护 显然,阅读和维护一个函数比维护两个函数更容易,而且您可以将代码放在一个地方

不浪费资源 您在函数中创建了所需的变量,当您使用完后,这些变量就会消失

不过,这是一个警告。 你应该知道有些事情是要避免的。例如,如果您的<代码> NeNex函数将需要越来越多的参数,您可以考虑更改范围,并可能将其保持在函数之外,以避免使用一个函数(比如说)十几个参数,因为您只会丢失上面列出的好处。
注:我认为你描述的第二个代码有一些错误。除非你只是那样写来解释你打算做什么。(我说的是
textarea.value=txt | |“;

这可能主要是基于观点,但我会选择第二个。
原因:

增加可读性和易于维护 显然,阅读和维护一个函数比维护两个函数更容易,而且您可以将代码放在一个地方

不浪费资源 您在函数中创建了所需的变量,当您使用完后,这些变量就会消失

不过,这是一个警告。 你应该知道有些事情是要避免的。例如,如果您的<代码> NeNex函数将需要越来越多的参数,您可以考虑更改范围,并可能将其保持在函数之外,以避免使用一个函数(比如说)十几个参数,因为您只会丢失上面列出的好处。
注:我认为你描述的第二个代码有一些错误。除非你只是那样写来解释你打算做什么。(我说的是
textarea.value=txt | |“;

这可能主要是基于观点,但我会选择第二个。
原因:

增加可读性和易于维护 显然,阅读和维护一个函数比维护两个函数更容易,而且您可以将代码放在一个地方

不浪费资源 您在函数中创建了所需的变量,当您使用完后,这些变量就会消失

不过,这是一个警告。 你应该知道有些事情是要避免的。例如,如果您的<代码> NeNex函数将需要越来越多的参数,您可以考虑更改范围,并可能将其保持在函数之外,以避免使用一个函数(比如说)十几个参数,因为您只会丢失上面列出的好处。
注:我认为你描述的第二个代码有一些错误。除非你只是那样写来解释你打算做什么。(我说的是
textarea.value=txt | |“;

这可能主要是基于观点,但我会选择第二个。
原因:

增加可读性和易于维护 显然,阅读和维护一个函数比维护两个函数更容易,而且您可以将代码放在一个地方

不浪费资源 您在函数中创建了所需的变量,当您使用完后,这些变量就会消失

不过,这是一个警告。 你应该知道有些事情是要避免的。例如,如果您的<代码> NeNex函数将需要越来越多的参数,您可以考虑更改范围,并可能将其保持在函数之外,以避免使用一个函数(比如说)十几个参数,因为您只会丢失上面列出的好处。 注:我认为你描述的第二个代码有一些错误。除非你只是那样写来解释你打算做什么。(我说的是
textarea.value=txt | |“”