Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получение значений в функции (https://javascript.ru/forum/events/48292-poluchenie-znachenijj-v-funkcii.html)

cript 28.06.2014 06:35

Получение значений в функции
 
Приветствую!
Как из такого формата получить значения ?
function Alert(n){
SystemMessage(n,{
title: '12345',
text: '12346',
button: '123410',
});
}
Alert(1)

foo 28.06.2014 08:45

Может так подойдет:
store={}
msg=function(n, ob){console.log(n, ob.foo)}
show=function(n){
	var ob={foo: "bar"}
	msg(n, ob)
	store[n]=ob//пишем куда-то
	return {number: n, msg: ob}//возвращаем
}
show(1)
console.log(show(3))
console.log(store)

1 'bar'
3 'bar'
{ number: 3, msg: { foo: 'bar' } }
{ '1': { foo: 'bar' }, '3': { foo: 'bar' } }

cript 28.06.2014 09:39

foo,
мне кажется или это не совсем то?
нужно получить значения
title - '12345
text - '12346
button - '123410'
или то что я написал имеет не правильную форму?

foo 28.06.2014 10:24

cript, Вы не сказали, что и куда возвращать. Если нужен просто возврат из функции со значением на стек, оставьте только последний ретурн. А так, я вам в одном примере дал несколько вариантов, Вы можете потом выдернуть эти значения из store, зависит от вашего юзкейса.
store1={}
store2=[]
msg=function(n, ob){console.log(n, ob)}
show=function(n){
    var ob={
       title: '12345',
       text: '12346',
       button: '123410'
    }
	    msg(n, ob)
	    store1[n]=ob//пишем в объект
            //или
            store2.push(ob)//пишем в массив
	    return ob//возвращаем из ф-ции
}

show(1)
console.log(show(5))
console.log("content of store1: "+store1, "content of store2: "+store2)
1 { title: '12345', text: '12346', button: '123410' }//отработала msg внутри show
5 { title: '12345', text: '12346', button: '123410' }//то же самое
{ title: '12345', text: '12346', button: '123410' }//возврат из ф-ции
content of store1: [object Object] content of store2: [object Object],[object Object] // инфа о содержимом store1 и store2


console.log(store1)
console.log(store2)
{ '1': { title: '12345', text: '12346', button: '123410' },
  '5': { title: '12345', text: '12346', button: '123410' } }//содержимое store1
[ { title: '12345', text: '12346', button: '123410' },
  { title: '12345', text: '12346', button: '123410' } ]//содержимое store2

foo 28.06.2014 10:33

Цитата:

Сообщение от cript
или то что я написал имеет не правильную форму?

Если Вы хотите возвратить сразу все значения из одной ф-ции, (куда?), то насколько я знаю, такое не предусмотрено в JS, мож ошибаюсь, хз, я сам нуб

cript 29.06.2014 03:13

Цитата:

Сообщение от foo
такое не предусмотрено в JS

видимо это только в jquery так можно

Aetae 29.06.2014 07:00

cript, чего?
foo, чего?!

Диалог двух психов...

foo 29.06.2014 20:13

Цитата:

Сообщение от Aetae
Диалог двух психов...

Ему надо было значение из функции как-то вернуть, что не так?:)


Часовой пояс GMT +3, время: 17:52.