javascriptmethods中的参数

Parameters in javascriptmethods

本文关键字:参数 javascriptmethods      更新时间:2023-09-26

我不了解javascript中方法内部的函数定义。例如,在AngularJS中,我有th代码:

sth.controller('ctrlname', function ($scope, $ionicModal, par3, par4){
       //code
});

我还有th代码:

var f = function (par5,par6){
     return par5 + par6;
}

如果我调用f(2,3),我得到的结果是5。

所以在控制器和其他类似的例子中,我为以前存在的函数或变量中的参数选择了任意的名称?

正如@MikeFeltman所说,函数的参数可以使用任何名称但是Angular作为其自己的依赖注入逻辑,它可以使用参数的名称来识别您的控制器/服务等依赖的软件。

让我们创建一个依赖于A服务的B控制器:

angular.module("testModule",[])
.service("A",function(){
//do stuff
})
.controller("B",function(A){
//do other stuff
});

Angular注入器将查看B构造函数的参数(此处为A),并尝试找到预期的服务。

但你可以随心所欲地命名你的论点:

angular.module("testModule",[])
.service("A",function(){
//do stuff
})
.controller("B",["A",function(dontCareAboutVarName){
//do other stuff
}]);

在这里,注入器不会查看函数的参数,因为它会找到一个描述依赖关系的数组,最后一项将是控制器构造函数。

请查看有关angular注射器的文档

参数是函数中的新变量,无论它们是否已经存在,但为了避免混淆,我不会使用与包含函数中可用变量相同的名称。我建议阅读JavaScript中的闭包以更好地理解这一点。这是对他们的一个相当不错的解读:http://javascriptissexy.com/understand-javascript-closures-with-ease/.

您可以在控制器中定义这样的函数。。

    sth.controller('ctrlname', function ($scope, $ionicModal, par3, par4){
        //function...
       $scope.sum = function(par3,par4){
           return par3 + par4 ;
       }
    });