Object · Lijiahao8898

Posted petewell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object · Lijiahao8898相关的知识,希望对你有一定的参考价值。

整理一下碰到的 Object 的一些方法。 Object.keysObject.definePropertyObject.assign

Object.keys( )

返回一个数组,包含指定对象的所有自有可遍历属性的名称。 MDN详解

var vendors = 
  '': '',
  Webkit: 'webkit',
  Moz: '',
  O: 'o',
  ms: 'ms'
;

Object.keys(vendors)            // ["", "Webkit", "Moz", "O", "ms"]

Object.defineProperty

直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。 MDN详解

语法: Object.defineProperty(obj, prop, descriptor)

  • obj 要在其上定义属性的对象。
  • prop 要定义或修改的属性的名称。
  • descriptor 将被定义或修改的属性描述符。
// 使用 __proto__
var obj = ;
var descriptor = Object.create(null); // 没有继承的属性
// 默认没有 enumerable,没有 configurable,没有 writable
descriptor.value = 'static';
Object.defineProperty(obj, 'key', descriptor);

// 显式
Object.defineProperty(obj, "key", 
  enumerable: false,
  configurable: false,
  writable: false,
  value: "static"
);

// 循环使用同一对象
function withValue(value) 
  var d = withValue.d || (
    withValue.d = 
      enumerable: false,
      writable: false,
      configurable: false,
      value: null
    
  );
  d.value = value;
  return d;

// ... 并且 ...
Object.defineProperty(obj, "key", withValue("static"));

// 如果 freeze 可用, 防止代码添加或删除对象原型的属性
// (value, get, set, enumerable, writable, configurable)
(Object.freeze||Object)(Object.prototype);

Object.assign

Object.assign 浅复制对象。

原文:大专栏  Object · Lijiahao8898


以上是关于Object · Lijiahao8898的主要内容,如果未能解决你的问题,请参考以下文章

ES6 对象Object

es6对象Object.assign(浅拷贝)

Java之IO流总结

第十六天

三星s4刷机教程(卡刷)

python连接数据库