Files
freeCodeCamp/guide/chinese/javascript/tutorials/add-new-properties-to-a-javascript-object/index.md
Johnson f6d8d01ed3 add new method (#34136)
* add new method

* fix comment
2018-11-25 18:07:52 -08:00

37 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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。
})
```