freeCodeCamp/guide/chinese/javascript/tutorials/add-new-properties-to-a-jav.../index.md

37 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Add New Properties to a JavaScript Object
localeTitle: 将新属性添加到JavaScript对象
---
您可以像修改现有JavaScript对象一样向现有JavaScript对象添加新属性。
有两种不同的语法,点表示法和括号表示法。为了便于阅读,通常首选点符号,但属性必须是有效的标识符。
以下是使用点符号的方法:
```
myDog.bark = "woof-woof";
```
以下是使用括号表示法的方法:
```javascript
myObject['bark'] = "woof-woof";
```
使用括号表示法,我们可以将变量用作属性名称:
```javascript
var dynamicProperty = "bark";
myObject[dynamicProperty] = "woof-woof";
```
使用`Object.defineProperty(o, prop, descriptor)`方法
```javascript
Object.defineProperty(myObject, 'bark', {
enumerable: false, // 当且仅当该属性的enumerable为true时该属性才能够出现在对象的枚举属性中。默认为 false。
configurable: false, // 当且仅当该属性的 configurable 为 true 时,该属性描述符才能够被改变,同时该属性也能从对应的对象上被删除。默认为 false。
writable: false, // 当且仅当该属性的writable为true时value才能被赋值运算符改变。默认为 false。
value: "woof-woof" // 该属性对应的值。可以是任何有效的 JavaScript 值(数值,对象,函数等)。默认为 undefined。
})
```