javascript中不同类型的函数声明

时间:2018-03-21 16:40:31

标签: javascript angularjs

1)下面是带变量名的函数声明

var x = function (a, b) {return a * b};

2)下面是angular1

中javascript中的另一种函数
  var method = {
            add_category: function(data, success, failure) {
                $upload.upload({
                    url: baseUrl() + 'add_category',
                    data: data
                }).success(success).error(failure);
            },
fileupload: function(data, success, failure) 
            {   

                $upload.upload({
                    url: baseUrl() + 'ImageUpload',
                    data: data
                }).success(success).error(failure);
            }
 return method;
}

两个代码之间有什么区别? 第一个方法值分配到一个变量中(var x = function(a,b))(选项1) 第二个代码(选项2)如何使用分号(fileupload:function(data,success,failure))? 如何在fileupload变量中分配数据?

1 个答案:

答案 0 :(得分:1)

在JavaScript中,函数是第一类公民,与字符串,数字或对象完全相同。因此,它可以分配给变量,并在期望变量的任何地方使用。

这种表示法:

var obj = {
    item1: 10,
    item2: "string",
    item3: function (a,b) { return a*b; }
}

定义一个具有三个属性的对象:数字,字符串和函数。这相当于:

var fn = function (a,b) { return a*b; };

var obj = {
    item1: 10,
    item2: "string",
    item3: fn
}

你这样称呼它:

var prod = obj.item3(2,4); // returns 8