2013-07-17 2 views
0

У меня есть следующий код ...Добавить недвижимость вручную?

function foo(type) { 
    if(foo.type == undefined) foo.type = 0; 
} 

То, что я хотел бы это сделать, это создать новое свойство на foo объекта для каждого «типа», который приходит через и установить это свойство равным нулю (и позже начинайте считать каждый раз, когда приходит «тип»). Тем не менее, я попал в психическое состояние, в этом случае foo.type, вероятно, оценивается как свойство type, на foo и не имеет значения, которое имеет переменная type.

Мне нужно преобразовать значение type в собственность, любые идеи?

И да, я знаю, что имя этого вопроса отстойно, если вы думаете о чем-то лучше, просто отредактируйте quesiton.

+2

кронштейн обозначения? – elclanrs

ответ

3
function foo(type) { 
    if(foo[type] == undefined) foo[type] = 0; 
} 

Вы, вероятно, хотите использовать === undefined, так что вы не будете получать unexpected results

+0

О, вау, спасибо! Я искал это на W3C, не упоминаю, что-то в JS-объекте, массиве или уроках переменной. –

+1

Попробуйте [MDN] (https://developer.mozilla.org/) обычно это действительно хорошо – NicoSantangelo

+0

Сделаю, спасибо! –

Смежные вопросы