Передать объект в функцию 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);

2 ответов


"скобки" делают объект literal, т. е. создать объект. Это один аргумент.

пример:

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

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

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

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

someFunc(someObject);

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


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

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