美文网首页
Javascript 对象键值赋值的四种方法

Javascript 对象键值赋值的四种方法

作者: 彭惠康 | 来源:发表于2020-03-13 11:16 被阅读0次
1、“点”语法
// ECMAScript 3
// 设置属性
obj.someKey = 'Hello World!';

// 获取属性
var val = obj.someKey;

2、中括号语法
// ECMAScript 3
// 设置属性
obj['someKey'] = 'Hello World';

// 获取属性
var val = obj['someKey'];

3、Object.defineProperty
// ECMAScript 5
// 设置属性
Object.defineProperty(obj, 'someKey', {
  value: 'Hello World!',
  writable: true,
  enumerable: true,
  configurable: true
})

// 当然,我们可以重新封装一个简单的方法来实现
const defineProp = function(obj, key, value) {
  const config = { value }
  Object.defineProperty(obj, key, config)
}

// 使用上述的方法,我们需要先创建一个空的对象
const person = Object.create(null);

// 然后设置对象的各个属性
defineProp(person, 'name', 'Johnny');
defineProp(person, 'age', 18);
defineProp(person, 'rich', true);

// 获取属性:可以用1和2中获取属性的方式来获取属性

这个方法可以用于实现继承

// 1、创建程序员对象programer,同时继承person对象
const programer = Object.create(person);

// 2、为programer对象设置一个属性
defineProp(programer, 'skill', 'javascript')

// 3、获取继承自person的name属性
console.log(programer.name);

// 4、获取programer自身的skill属性
console.log(programer.skill);

4、Object.defineProperties

// ECMAScript 5
// 设置属性
Object.defineProperties(obj, {
  'key1': {
    value: 'Hello World',
    writable: true
  },
  'key2': {
    value: 'Hi, Johnny',
    writable: false
  }
});
// 获取属性:可以用1和2中获取属性的方式来获取属性

相关文章

  • Javascript 对象键值赋值的四种方法

    1、“点”语法 2、中括号语法 3、Object.defineProperty 这个方法可以用于实现继承 4、Ob...

  • Constructor(构造器)模式

    对象创建一般使用如下两种方法创建对象: 有四种方法可以将键值赋值给一个对象 基本Constructor(构造器)J...

  • js对象的创建

    一、创建对象的方法 阅读犀牛书(《javascript权威指南》),书中将js创建对象的方法分为四种,对象字面量、...

  • 函数I

    一.什么是方法和对象1.在 JavaScript 中,对象是拥有属性和方法的数据1.1)一组“键值对”(key-v...

  • iOS 对KVC、KVO理解

    什么是KVC KVC键值编码,允许通过key名直接访问对象的属性或者给对象的属性赋值,而不需要调用对象的存取方法。...

  • iOS KVC和KVO

    kvc:使用字符串直接访问对象的属性,或者给对象属性赋值 kvo:键值观察机制,它提供了观察对象属性变化的方法 K...

  • javascrit对象

    在javascript中也存在对象,对象的值通过键值对存储。 在对象中可以有属性值和方法, 如: 如图在这个per...

  • js 数组的常用方法

    // 关于JS数组常用方法的剖析 // 数组也是对象数据类型的,也是由键值对组成的 ```javascript v...

  • 05-JS基础-对象

    JavaScript的对象是一种带有属性和方法的特殊数据类型,它由若干键值对组成。 创建对象 对象初始化器 构造函...

  • ES6新增的数据类型Map和Set

    Javascript的默认对象表示方式 {} ,即一组键值对。 但是Javascript的对象有个小问题,就是键必...

网友评论

      本文标题:Javascript 对象键值赋值的四种方法

      本文链接:https://www.haomeiwen.com/subject/thtqshtx.html