0
有了下面的代码:对象不是一个函数错误
var App = (function(param)
{
return { foo : function() { alert(param); } }
})();
var d = App('test');
d.foo();
我收到错误消息:
object is not a function
我在做什么错在这里?
有了下面的代码:对象不是一个函数错误
var App = (function(param)
{
return { foo : function() { alert(param); } }
})();
var d = App('test');
d.foo();
我收到错误消息:
object is not a function
我在做什么错在这里?
的问题是,
var App = (function(param){})();
这意味着,一旦遇到该语句,应用程序设置为{foo: function(){alert(param)}}
,但参数是未定义
尝试
var App = function(param)
{
return { foo : function() { alert(param); } }
};
var d = App('test');
d.foo();
您将匿名函数的返回值分配给App
,然后尝试将App
作为该函数而不是其返回值调用。
这表示App
是包含foo
的对象。
或者:
()
并放置(
和)
之间'test'
在第4行,并与App
在最后一行替换d
。
能你展示了哪些代替行的例子? – Dev555 2012-02-29 10:14:07