Вернуть 2 объекта, используя IIFE - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь вернуть 2 объекта, используя IIFE. Я не могу найти, что здесь не так.

var UIController = (function(){

    return{
        getMinput: function(){
            return {
            mstaff1: document.querySelector('#mstaff1').value,
            mstaff2: document.querySelector('#mstaff2').value,
            mpda: document.querySelector('#mpda').value,
            mpos: document.querySelector('#mpos').value,
            mcash: document.querySelector('#mcash').value,
            mtotal: document.querySelector('#mtotal').value
            };
        }


        getMinput: function(){
            return {
            mstaff1: document.querySelector('#mstaff1').value,
            mstaff2: document.querySelector('#mstaff2').value,
            mpda: document.querySelector('#mpda').value,
            mpos: document.querySelector('#mpos').value,
            mcash: document.querySelector('#mcash').value,
            mtotal: document.querySelector('#mtotal').value
            };
        }   
    };

})();

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Здесь у вас есть один объект. Вы не можете иметь одно и то же имя для методов внутри одного объекта. Кроме того, вам нужно добавить «,» после каждого метода или проп. Так что сделайте это так:

(function(){

    return{
        getMinput: function(){
            return {
            mstaff1: document.querySelector('#mstaff1').value,
            mstaff2: document.querySelector('#mstaff2').value,
            mpda: document.querySelector('#mpda').value,
            mpos: document.querySelector('#mpos').value,
            mcash: document.querySelector('#mcash').value,
            mtotal: document.querySelector('#mtotal').value
            };
        },

        getMinput1: function(){
            return {
            mstaff1: document.querySelector('#mstaff1').value,
            mstaff2: document.querySelector('#mstaff2').value,
            mpda: document.querySelector('#mpda').value,
            mpos: document.querySelector('#mpos').value,
            mcash: document.querySelector('#mcash').value,
            mtotal: document.querySelector('#mtotal').value
            };
        }   
    };
    })());

OR if you really need two objects you can use array: 

(function(){
    return [
        getMinput: function(){
            return {
            mstaff1: document.querySelector('#mstaff1').value,
            mstaff2: document.querySelector('#mstaff2').value,
            mpda: document.querySelector('#mpda').value,
            mpos: document.querySelector('#mpos').value,
            mcash: document.querySelector('#mcash').value,
            mtotal: document.querySelector('#mtotal').value
            };
        },


        getMinput1: function(){
            return {
            mstaff1: document.querySelector('#mstaff1').value,
            mstaff2: document.querySelector('#mstaff2').value,
            mpda: document.querySelector('#mpda').value,
            mpos: document.querySelector('#mpos').value,
            mcash: document.querySelector('#mcash').value,
            mtotal: document.querySelector('#mtotal').value
            };
        }   
    ];
  })
());
0 голосов
/ 19 февраля 2020

Вы не можете получить два возврата от одного запуска функции. Это физически невозможно.
Но вы можете вернуть массив значений.

     var UIController = (function ... return [ /*whatever porcesing*/ , /*second result */ ]; .. })();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...