其实我试图在没有创建对象的情况下设置一个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');
};
您正在定义'sum'和'calc.mult'作为空函数,称它们为(仍然为空),然后重新定义它们。你想实现什么? – Zudwa 2014-12-03 09:18:44
欢迎使用函数声明和函数表达式分配之间的区别。 ;-) – RobG 2014-12-03 09:27:02
RobG可以帮助你理解函数声明和函数表达式赋值之间的区别。 – vinod 2014-12-03 09:37:57