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

Передача объекта функции javascript

Недавно я работал с jQuery на своем веб-сайте, и у меня довольно ограниченное знание Javascript. Мне начинает нравиться способность jQuery передавать переменные функции jQuery внутри фигурных скобок, например:

$(somediv).animate({thisisone: 1, thisistwo: 2}, thisisavar);

Мне было интересно, как я могу написать функцию Javascript, через которую я могу передать элементы внутри фигурных скобок? Я знаю, что вы можете писать такие функции:

function someName(var1, var2, var3...) {

}

но это не поддерживает фигурные скобки? Я также знаю, что вы не можете добавлять аргументы и делать это:

function accident() {
    for( var i = 0; i < arguments.length; i++ ) {
        alert("This accident was caused by " + arguments[i]);
    }
}
accident("me","a car","alcohol","a tree that had no right to be in the path of my driving");

но я также хочу передать внешние переменные вместо целой строки строк, если это имеет смысл?

В принципе, я хочу функцию, через которую я могу передавать переменные, например:

function myFunction(neededcodehere){
    //Some code here...
}

myFunction (var1, {"Option 1", "Option 2", "Option 3"}, anothervar);
4b9b3361

Ответ 1

"фигурные скобки" создают объектный литерал, т.е. создают объект. Это один из аргументов.

Пример:

function someFunc(arg) {
    alert(arg.foo);
    alert(arg.bar);
}

someFunc({foo: "This", bar: "works!"});

объект может быть создан заранее:

var someObject = {
    foo: "This", 
    bar: "works!"
};

someFunc(someObject);

Я рекомендую прочитать Руководство по JavaScript MDN - Работа с объектами.

Ответ 2

function myFunction(arg) {
    alert(arg.var1 + ' ' + arg.var2 + ' ' + arg.var3);
}

myFunction ({ var1: "Option 1", var2: "Option 2", var3: "Option 3" });

Ответ 3

function ajax( string, array, object)
{
    console.log("String: " + string); // string
    console.log("Array: " + array); // array
    console.log("Object: " + object); // object
};
<a href="javascript:void(0)" onclick="ajax( 'foo', ['foo', 'bar'], {foo: 'bar'})" >Edit</a>