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

Смежные вопросы