2017-11-16 1 views
0

Kann mir jemand Objekte und Eigenschaften in Javascript in Laiensprache erklären? Die Javascript MDN Dokumentation verwirrt mich.Was sind JavaScript-Objekte und Eigenschaften?

Ich versuche ein Problem in einem Javascript-Tutorial über Objekte und Eigenschaften zu lösen. Die Frage ist unten und mein Versuch den Code, ich glaube, ich folgte dem MDN, soweit ich es erfassen kann. Jede Hilfe wäre willkommen!

Frage: Fügen Sie den Wert des Eigenschaftsarguments als Schlüssel für das Objektargument hinzu. Der Wert der neuen Eigenschaft sollte auf null festgelegt werden. Rückgabeobjekt nach dem Hinzufügen der neuen Eigenschaft.

Eingabebeispiel:

{}, 'hello' 
{ x: 5 }, 'y' 

Ausgabebeispiel:

{ hello: null } 
{ x: 5, y: null } 

Anmerkung: die Eigenschaft Name ist NICHT 'Eigentum'. Der Name ist der Wert des Arguments namens property (eine Zeichenfolge).

Mein Code: // HINWEIS: Die Funktion addProperty (Objekt, Eigenschaft) war bereits in der Konsole und ich muss die Lösung darin schreiben.

function addProperty(object, property) { 
    // code here 
    let result = addProperty({x: 5}, 'y'); 
    obj[property] = null; 
    return obj; 
} 

addProperty(x, 'y'); 
+0

und was ist Ihre Frage? –

+0

Wenn eine der folgenden Antworten Ihren Anforderungen entspricht, belohnen Sie sie bitte mit +1, und die Besten sollten eine Akzeptanz erhalten; Dies hält Menschen interessiert an helfen, Fragen zu beantworten. – Sablefoste

Antwort

1

Layman Erklärung:

Ein Objekt ist eine Sammlung von Eigenschaften. Sie können dem Objekt einen Namen geben, um die Dinge zu organisieren. Lassen Sie uns beispielsweise ein Personenobjekt erstellen.

var person = {};

Das Objekt hat jetzt keine Eigenschaften. Um die Person weiter zu beschreiben, können wir dem Objekt Eigenschaften hinzufügen.

person.Name = 'Zim'; 
person.Age = 29; 
person.Gender = 'Male'; 
person.Weight = 80; 

Jetzt hat dieses Objekt einige Eigenschaften, um es zu beschreiben.Eine andere Möglichkeit, dasselbe zu schreiben:

var person = { Name: 'Zim', Age: 29, Gender: 'Male', Weight: 80 };

Wenn wir ein Programm erstellen haben, das eine Liste von Menschen zeigt, würde helfen, organisiert halten alle unsere Informationen in Objekten zu speichern Dinge.

Objekteigenschaften werden manchmal als Schlüssel bezeichnet.


Hinzufügen von Eigenschaften zu Objekten:

Sie können eine Eigenschaft auf ein Objekt hinzufügen, Klammern, wie Sie in Ihrer addProperty Funktion hatte. Wenn Sie es gerade brauchen eine Eigenschaft hinzuzufügen, setzen Sie diese Eigenschaft auf null und das Ergebnis zurück es in etwa so aussehen würde:

function addProperty(object, property) { 
    // code here 
    object[property] = null; 
    return object; 
} 

Dies würde lassen uns von oben ein properies auf unser Objekt erstellen, indem

Aufruf
addProperty(person, 'Occupation'); 
addProperty(person, 'Income'); 
addProperty(person, 'Height'); 
1

Ich denke, du überdenkst es.

Zunächst die Frage:

Fügen Sie den Wert des Eigenschaft Argument als Schlüssel auf dem Objekt Argument. Der Wert der neuen Eigenschaft sollte auf Null festgelegt werden. Rückgabe Objekt nach dem Hinzufügen der neuen Eigenschaft.

Betonung hinzugefügt

So Eigenschaft wird der Schlüssel sein (ein key/value pair), und der Wert wird von Objekt null sein, die wir auch als Argument sind vorbei.

Eine Möglichkeit, Schlüssel/Wert-Paare auf einem Javascript-Objekt abzufragen, besteht in den eckigen Klammern []. Also, wenn Sie ein Schlüssel/Wert-Paar haben: {foo: "bar"}, können Sie "bar" bekommen mit: object ['foo']. Sie können auch neue Schlüssel/Wert-Paare wie diese erstellen, so können Sie Ihre Funktion wie folgt aussehen:

function addProperty(object, property) { 
    object[property] = null; 
    return object; 
} 

var obj = {}; 

obj = addProperty(obj, "hello"); 

console.log(obj); 
console.log(addProperty({x: 5}, 'y')); 

Was unsere Funktion macht, ist die (als Argument) in das übergebene Objekt nehmen, mit einem neuen Schlüssel zu schaffen unsere Eigenschaft Argument, und stellen Sie seinen Wert auf Null, und einfach das Objekt zurückgeben.

* Exkurs -

Seien Sie vorsichtig, der Code, den Sie geschrieben haben, wird eine endlose rekursive Schleife erstellen, wie Sie ohne die Möglichkeit, die gleiche Funktion halten Aufruf aus ihm heraus zu brechen.

1

Dieses spezielle Beispiel ist einfach:

var one={}; 
var two={x:5}; 
function addProperty(object property){ 
    obj[property]=null; 
    return obj; 
} 

addProperty(one, 'hello'); 
addProperty(two, 'y'); 

Objekte in Javascript sind wirklich flexibel, ihre Eigenschaften hinzugefügt oder entfernt werden können, auch wenn von Anfang an festgelegt.

Wenn Sie nehmen:

var x={}; 

x wird es ein Objekt mit nichts, aber wenn statt, dass Sie schreiben:

var x={ 
    inner:'b' 
}; 

x wird ein Objekt sein, mit eine Eigenschaft namens innere welcher Wert ist 'b', jetzt, wenn wir auf diese Eigenschaft zugreifen möchten, könnten wir etwas tun:

var valueOfInner=x.inner; 

oder

var valueOfInner=x['inner']; 

Das gleiche, wenn wir den Wert dieser Eigenschaft ändern möchten:

x.inner=8; 

oder

x['inner']=8; 

Nun, werden Sie feststellen, dass, wenn wir verwenden x. ['inner'], könnten wir stattdessen sehr gut verwenden:

So können Sie auf eine Eigenschaft eines Objekts zugreifen und diese ändern, ohne genau zu wissen, welche Eigenschaft Sie manipulieren.

Schließlich, wenn Sie (bereit oder zufällig) sind versucht, den Wert einer Eigenschaft zu setzen, das nicht vorhanden ist, wird die Eigenschaft automatisch zum Beispiel erstellt, wird sein:

x['blah']=456; 

Wird erstellen die Eigenschaft blah auch wenn es zuerst nicht definiert wurde.

Edit: ja, können Sie das Objekt definieren und später seine Eigenschaften definieren:

var x={}; 
//more code or something 
x['y']=777;//now x has a y property with the value 777 
+0

Also wenn ich ein Objekt erstellen würde, wäre das x der Deskriptor? Wie gesagt, ich habe ein Objekt erstellt, aber ich weiß noch nicht, welche Eigenschaften ich dem Objekt geben möchte. Ich kann sie leer lassen und dann später den Deskriptor und den Wert hinzufügen. – babycoder

+0

ja, überprüfe meine Bearbeitung –

Verwandte Themen