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