函数表达式与命名空间

时间:2014-12-03 09:14:07

标签: javascript json

实际上我试图在没有对象创建的情况下尝试使用namspace [以避免全局变量]并尝试执行以下操作。但是,没有调用带有警报的方法data.sum和data.calc.mult的执行。而是调用数据内的空声明。我可以帮助我知道为什么会这样吗?

var data = {
    name: "",
    sum: function() {},
    calc : {
        mult: function() {}
    }                       
};

data.sum();
data.calc.mult();

data.sum = function () {
    alert('sum');
};

data.calc.mult = function () {
    alert('mult');
};

2 个答案:

答案 0 :(得分:0)

如果在data.sum函数重定义之后放入data.sum(),则会出现警告框。

答案 1 :(得分:0)

像这样定义它(对象定义中的函数定义):

var data = {

    sum: function () {
        alert('sum');
    },
    mult: function () {
        alert('mult');
    }
};

data.sum();
data.mult();