2016-09-04 87 views
-3

爲什麼函數未定義?

(function(window){ 
 
    var devigner = window.devigner = {}; 
 
    devigner.create = function() {  /*a generic method to create elements */ 
 
    var element = function() { 
 

 
    }; 
 
    }; 
 
})(window);

上面的代碼具有用於document.create.element錯誤而將typeof devigner是對象,它是正確的,但typeof運算devigner.create是功​​能被不確定的。

when run in firebug

+0

你可以請詳細一點。什麼是'document.create.element'? – brk

+0

您必須調用函數document.create()。element – arieljuod

+1

'element'是'devigner.create'的局部變量。不能在函數之外訪問它,而不返回它或使用閉包。 – 4castle

回答

0

您需要調用的函數:

document.create().element 

此外,創建函數返回一個對象具有 '元素' 值

create = function() { 
    var element = .... 
    .... 
    return {element: element} 
} 
+0

很高興看到這個社區是有幫助的,BTW我明白了,謝謝讓我學習。 –

+0

我剛剛做到了。再次感謝。 –

+0

其實,我懷疑這是他想要的,或者如果這是做到這一點的最好方法。他似乎只需要說'devigner.create = {element:function()...'。 –