Cześć jest to możliwe? Powiedz, że masz:

var settings = {
  name : 'bilbo',
  age : 63
}

Czy możesz dynamicznie dodać kolejną nieruchomość w czasie wykonywania, więc staje się?

var settings = {
  name : 'bilbo',
  age : 63,
  eyecolor : 'blue'
}
1
Mantisimo 14 grudzień 2011, 18:51

5 odpowiedzi

Najlepsza odpowiedź

Po prostu użyj notacji DOT, aby dodać nową właściwość:

var settings = {
  name : 'bilbo',
  age : 63
}

settings.eyecolor = 'blue';

// or: settings['eyecolor'] = 'blue';
// both of the above will do the same thing:
// add a property to your object

console.log(settings);
/* Logs:
{
    name : 'bilbo',
    age : 63,
    eyecolor: 'blue'
}
*/

Str.s. Jest to zwykły literał obiektu JavaScript. Nie ma nic wspólnego z JSON.

JSON jest po prostu sposób na wyrażenie obiektu / tablicy jako ciąg, który wygląda jak kod JavaScript.

5
Joseph Silber 14 grudzień 2011, 14:58

Prosty:

settings.eyecolor = 'blue';

Lub

settings['eyecolor'] = 'blue';

Albo dodanie pola eyecolor do obiektu ustawień w czasie wykonywania.

var settings = {
  name : 'bilbo',
  age : 63
};
settings.eyecolor = 'blue'; // can be run anywhere once settings has been defined
console.log(settings.name, settings.age, settings.eyecolor); // "biblo" 63 "blue"
2
Joe 14 grudzień 2011, 14:52

Że obiekt "JSON" jest normalnym obiektem JavaScript. Możesz wykonać następstwo:

settings.eyecolor = 'blue';

Lub

settings['eyecolor'] = 'blue';
1
kubetz 14 grudzień 2011, 14:53

Tak, mógłbyś go tak podać:

settings.eyecolor = "blue";
1
Jonathan M 14 grudzień 2011, 14:54

Tak, możesz po prostu;

settings["eyecolor"] = "blue";

Następnie pojawi się w dowolnym reroalizowanym ciągiem.

0
Alex K. 14 grudzień 2011, 14:53