2016-09-04 94 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()...'。 –