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