对象总结

javascript的简单数据类型包括数字、字符串、布尔值、null和undefined。其他的所有值都是对象。

  • 对象是属性的容器,每个属性都有相应的键值。属性的名字可以是包括空字符串在内的任意字符串,属性值可以是除undefined值之外的任何值。
  • javascript里的对象是无类型的。它对新属性的名字和属性的值没有限制。对象可以包含其他对象,所以它们很容易的可以表示成树状或图形结构。
  • javascript包含一种原型链的特性,允许对象继承另外一个对象的属性。

对象字面量

对象的字面量就是包裹在花括号里的零个或者多个键值对。如果属性名是个合法的标识符且不是保留字,则不需要强制使用引号。

var empty_object = {}
var stooge = {
  "first-name": "Jerome",
  "last-name": "Howard",
    age: 24
};

检索

stooge["first-name"] // Jerome
stooge.age // 24

两种检索方式

  • 使用[]
  • 如果键是和合法的js标识符那么可以使用 .
stooge["first-name"] || 'none'
stooge && stooge["first-name"]

可以用以上两种方式设置默认值或者防止对象不存在而抛错。

更新

stooge["first-name"] = 'JACK'

如果改属性存在那么会更新,否者会扩充该属性到对象中。

引用

对象是通过引用来传递的,所以它们永远不会被复制。

原型

  • 每个对象都有一个原型对象,并且可以从中继承属性。所有通过对象字面量创建的对象都链接到Object.prototype。
    创建一个用原对象作为其原型对象的新对象
if (typeof Object.beget !== 'function') {
  Object.create = function (o) {
    var F = function () {};
    F.prototype = o;
    return new F();
  }
}
  • 在我们更新对象的时候,原型链不会发生变化。
  • 原型链只有在检索值得时候才会被用到。如果在该对象检索不到这个值 ,那么就会到原型对象中去获取。

反射

typeof 检查对象类型
hasOwnProperty 查看对象是否拥有读友的属性。

枚举

for in 遍历对象所有的属性名

删除

delete stooge.age

delete 可以删除对象的属性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...
    _Dot912阅读 1,471评论 3 12
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • 搬家时如何处理家具对很多人来说都是个难题:在二手市场卖了有点可惜,到了新家还要再次购买;搬过去又太麻烦,虽然像宜家...
    伯凡时间阅读 1,112评论 0 0
  • “老妈,你下班了吗?” “妈妈刚刚从单位出来。” “你看着车啊,别着急,你坐地铁对吗?看好是到青岛北站不是青岛站,...
    小壹Odelia阅读 351评论 0 0
  • 估计你看到过很多文章说:知道做不到,等于不知道! 或者:知行合一才是真知!我也写过类似的文章。 01 钟摆的每一刻...
    火火烽阅读 294评论 0 1