目录

  • 前言
  • 一、对象是什么?
  • 二、创建对象
    • 1.创建Object的一个实例
    • 2.使用对象字面量
  • 总结

前言

写本《JavaScript简餐》系列文章的目的是记录在阅读学习《JavaScript高级程序设计(第4版)》一书时出现的各个知识点。虽是对读书的笔记和总结,但是希望它轻量、简洁、犀利,不会引起阅读疲劳,可以在碎片化时间和闲暇之余轻巧地沐浴一下知识点。每篇文章只针对一个小部分进行讲解式的梳理,来达到个人复习总结和分享知识的目的。


一、对象是什么?

对象不是什么新奇的东西,任何东西都可以看作对象。比如一个人,一个物品。人有名字、年龄和性别,物品有形状、价格和重量,各有各的属性。这也难怪ECMA-262(ECMAScript语言标准)将对象定义为:一组属性的无序集合。这些属性都可以有一个值,这个值可以是数据也可以是函数。话不多说,来看下面创建对象的具体例子。


二、创建对象

创建对象有两种方式:

  • 创建Object的一个实例。
  • 使用对象字面量。

1.创建Object的一个实例

尽管W3C标准不建议使用这种方式,但不管怎样先上代码:

let person = new Object();
person.name = 'Jack';
person.age = 29;
person.job = 'Soft Engineer';
person.sayname = function () {console.log(this.name);
}

这里创建了一个名为person的Object的实例,并且通过点操作符为它添加了name、age、job、sayname四个属性,前三个的值是数据,第四个是用来打印对象名字的函数。

2.使用对象字面量

let person = {name: 'Jack',age: 29,job: 'Software Engineer',sayname() {console.log(this.name);}
}

这个对象的内容与上面相同,不过注意几个要点:属性之间用逗号分开来,并且函数直接写成调用形式:函数行+括号。 当然你也可以像下面这样做:

let person = {}
person.name = 'Jack';
person.age = 29;
person.job = 'Software Engineer';
person.sayname = function () {console.log(this.name);
}

与第一种方法类似,只不过是用了对象字面量来定义的。


总结

以上就是今天要讲的内容,本文简单介绍了对象的定义和创建对象的两种方法,不过这两种方法还有些许不足,不能够满足创建对象的全部需求。下一篇我们来讲一下创建对象的各个模式来深入创建对象的知识!撒花~

JavaScript简餐——对象是个啥?相关推荐

  1. JavaScript简餐——细看函数的参数

    文章目录 前言 一.理解参数 二.箭头函数中的参数 三.总结 前言 写本<JavaScript简餐>系列文章的目的是记录在阅读学习<JavaScript高级程序设计(第4版)> ...

  2. JavaScript简餐——创建对象的三种模式

    文章目录 前言 一.工厂模式 二.构造函数模式 三.原型模式 总结 前言 写本<JavaScript简餐>系列文章的目的是记录在阅读学习<JavaScript高级程序设计(第4版)& ...

  3. JavaScript简餐——this关键字

    文章目录 前言 一.this对象 二.区别实例 总结 前言 写本<JavaScript简餐>系列文章的目的是记录在阅读学习<JavaScript高级程序设计(第4版)>一书时出 ...

  4. JavaScript简餐——继承之原型链继承

    文章目录 前言 一.实现方式 二.继承实例 三.问题所在 1.引用值误修改 2.子类型实例化时无法给父类构造函数传参 四.总结 前言 写本<JavaScript简餐>系列文章的目的是记录在 ...

  5. JavaScript简餐——关于盗用构造函数

    文章目录 前言 一.什么是盗用构造函数? 二.使用实例 三.参数传递 四.盗用构造函数的问题所在 五.总结 前言 写本<JavaScript简餐>系列文章的目的是记录在阅读学习<Ja ...

  6. JavaScript简餐——闭包

    文章目录 前言 一.闭包概念 二.闭包的副作用 三.闭包的用途 1.在函数外部读取函数的内部变量 2.利用外部函数变量缓存值 四.总结 前言 写本<JavaScript简餐>系列文章的目的 ...

  7. JavaScript简餐——初见Promise

    文章目录 前言 一.Promise基础 1.Promise状态机 2.通过执行函数 控制Promise的状态 3.Promise.resolve() 4.Promise.reject() 5.同步/异 ...

  8. JavaScript简餐——初识函数

    文章目录 前言 初始函数 1.函数声明 2.函数表达式 3.箭头函数(ES6新特性) 4.使用Function构造函数 总结 前言 写本<JavaScript简餐>系列文章的目的是记录在阅 ...

  9. JavaScript简餐——类构造函数

    文章目录 前言 一.类的构造函数及其实例化 二.把类当成特殊函数 三.总结 前言 写本<JavaScript简餐>系列文章的目的是记录在阅读学习<JavaScript高级程序设计(第 ...

最新文章

  1. Android之线程安全的单例模式,Adapter注意事项之引用传值
  2. hdu 1087 最大递增和
  3. 拓展 NLog 优雅的输送日志到 Logstash
  4. [Java基础]List集合
  5. P3899-[湖南集训]谈笑风生【主席树】
  6. java教程百度文库,成功拿到offer
  7. MySQL和Mariadb都启动不了了_linux centos7mariadb安装成功启动不了 解决思路
  8. Kafka 消费者组 Rebalance 详解
  9. syslog 向内存中缓存_动画:深入浅出从根上理解 HTTP 缓存机制及原理!
  10. java递归实现多级菜单栏_Java构建树形菜单以及支持多级菜单的实例代码
  11. Android自动化测试之路——技术准备
  12. Rails测试《十》不能错过的杂七杂八
  13. lua-TestMore(转)
  14. Python数据处理041:数据分析之时间序列
  15. 3ds Max 文件修改版本工具
  16. angularJs-基础用法
  17. 36. 有效的数独(技巧)
  18. Latex的常见错误
  19. sklearn之线性回归实现—阿里云天池二手车交易价格预测赛
  20. Java Web之Cookie、Session

热门文章

  1. WinCE 访问服务器SqlServer
  2. 计算机课教学老师端,51好课堂教师端电脑版
  3. mysql自增id存在哪里_mysql返回自增id
  4. html 倒计时弹出框,JavaScript 实现简单的倒计时弹窗DEMO附图
  5. 仅使用python基本语法、即不使用任何模块、编写_仅此而已有关的唯美句子,人生仅此而已的句子...
  6. opencv python 编译_编译opencv python
  7. IOS 常用的安装包 deb、ipa 和 pxl
  8. vscode的格式化工具:eslint 、 prettier、editorconfig 和 vetur
  9. 服务器维护必刷稀有宠物,魔兽怀旧服,10年圆梦的稀有宠物,记一个魔兽老玩家的坚守...
  10. GTX2080的GPU版本caffe的环境