2013-10-10 2 views
0

Попытка сделать этоIIFE и объекты JS

/*Javeline Javascript simple forum API by Makerimages v1.0*/ 

(function(){ 

    Javeline={}; 
    alert("hia"); 
    Javeline.isNameSpace=true; 
    alert("hia"); 
    Javeline.toString= function() { return "Javeline"; }; 

    Javeline.Application=Application(); 
    Javeline.Application.create(); 
    alert("appmade"); 

}()); 

function Application() 
{ 
    function create() 
    { 
     Javeline.Application=this; 
     alert(Javeline.Application); 
    } 
} 

почему обыкновение код не запускать Javeline.Application.create()?

также ToString возвращает все на этой линии после =

+0

* Почему код не запускается * Вы имеете в виду «Почему код не будет работать?» Или вы не хотите, чтобы 'create' запускался? –

+0

Потому что 'Приложение' ничего не возвращает и, конечно, не является объектом с методами. –

+0

«Почему код не будет работать?» по не запущенному, я хотел просто указать часть, которая не будет работать javeline.Application.create() – Makerimages

ответ

0

Это, вероятно, что вы хотите:

Javeline.Application=new Application(); 

//.... 

function Application() 
{ 
    this.create = function() 
    { 
     Javeline.Application=this; 
     alert(Javeline.Application); 
    } 
} 

Просто вызова Application вернется undefined, так как функция не имеет возврата заявление , Вызов с помощью ключевого слова new даст вам новый объект. Однако, чтобы добавить функцию create в собственность этого нового объекта, вы должны объявить ее как свойство this внутри create.

+0

делает это в^файл'/* Javascript простого копье форум API по Makerimages v1.0 */ (функция() { \t = {копья }; \t Javeline.isNameSpace = TRUE; \t \t Javeline.Application = новое приложение(); \t }()); \t Функция Применение() { \t this.text = "awd"; \t this.create = function() { \t Javeline.Application = this; } \t } 'и это в другом .js файле' App = Javeline.Application.Создайте(); оповещения (App.text); 'оба из которых сблизит index.html index.html – Makerimages

+0

:' Начиная копье <тип скрипта = "текст/JavaScript" SRC =» ЛИЭС/ядро ​​/ JavelineCore.js "> <тип скрипта =" текст/JavaScript»SRC = "App.js"> ' предупреждение не отображается – Makerimages

+0

Works !!!!!! ура – Makerimages

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