Подтвердить что ты не робот

Функции внутри объектов

Я знаю, что название неопределенное, но я не знал, что писать.
В javascript я знаю, как писать функции, которые будут вызываться вот так:

argument1.function(argument2);

Вот демонстрация скрипки: http://jsfiddle.net/rFXhf/
Теперь я задаюсь вопросом, могу ли я сделать:

argument1.argument2.function(argument3);//And even more!
4b9b3361

Ответ 1

вам нужно определить такие объекты, как это:

var argument1 = {
    myvar : "12",
    mymethod : function(test) { return something; }
}

затем вызовите метод mymethod:

argument1.mymethod(parameter);

или более глубокая версия:

var argument1 = {
    argument2 : {
       mymethod : function(test) { return something; }
    }
} 

то

argument1.argument2.mymethod(parameter);

Ответ 2

Современный подход ES6

Вам больше не нужно указывать ключевое слово function при определении функций внутри объектов:

var myObj = {
  myMethod(params) {
    // ...do something here
  }
  myOtherMethod(params) {
    // ...do something here
  }
  nestedObj: {
    myNestedMethod(params) {
      // ...do somethinghere
    }
  }
};

Эквивалентный, за исключением повторяющихся и многословных:

var myObj = {
  myMethod: function myMethod(params) {
    // ...do something here
  }
  myOtherMethod: function myOtherMethod(params) {
    // ...do something here
  }
  nestedObj: {
    myNestedMethod: function myNestedMethod(params) {
      // ...do somethinghere
    }
  }
};