JavaScript约定:如何为父作用域分配参数

mam*_*amu 5 javascript

var problemtest = function () {

    var parameters;

    return function (parameters) {
        parameters = parameters;
    }
}

var mysolutiontest = function () {

    var parameters;

    return function (parametersIn) {
        parameters = parametersIn;
    }
}
Run Code Online (Sandbox Code Playgroud)

这更像是一个JavaScript常规问题.

通常我的代码与顶部的代码类似.函数接受参数并将其分配给父作用域.但是,我不能把它作为problemtest,因为parameters这有观点隐藏parametersproblemtest.

在OO编程中我们可以使用this,但在JavaScript中我无法使用this,所以我通常实现类似的解决方案mysolutiontest.但是,我对此解决方案并不完全满意.有没有更好的方法呢?

Lio*_*hen 2

我通常用作_parameters约定。这源于我过去的 Java 经历。这与您的示例或 Javascript 无关。任何不强制您限定任何封闭范围的变量的语言都会导致您遇到同样的问题。

var mysolutiontest = function () {
  var _parameters;

  return function (parameters) {
    _parameters = parameters;
  }
}
Run Code Online (Sandbox Code Playgroud)

我还看到人们使用p_parameters质量函数参数名称。这不是我最喜欢的之一。

var mysolutiontest = function () {
  var parameters;

  return function (p_parameters) {
    parameters = p_parameters;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的2c。