位置: 编程技术 - 正文

JavaScript学习笔记之创建对象(javascript基础笔记)

编辑:rootadmin

推荐整理分享JavaScript学习笔记之创建对象(javascript基础笔记),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript教程,javascript怎么学,javascript学习指南,javascript教程推荐知乎,javascript基础笔记,javascript学习指南,javascript入门教程,javascript教程推荐知乎,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript 有Date、Array、String等这样的内置对象,功能强大使用简单,人见人爱,但在处理一些复杂的逻辑的时候,内置对象就很无力了,往往需要开发者自定义对象。

从JavaScript定义上讲对象是无序属性的集合,其属性可以包含基本值、对象或函数。也就是说对象是一组没有特定顺序的属性,每个属性会映射到一个值上,是一组键值对,值可以是数据或对象。

对象是JavaScript的基本数据类型。在JavaScript中除了字符串、数字、true、false、null和undefined之外的值都是对象。所以,学习JavaScript不把对象学习明白要继续往下学习就非常的困难。从今天开始进入对象的学习中。

概述

在JavaScript中对象是一种基本的数据类型,在数据结构上是一种散列表,可以看作是属性的无序集合,除了原始值其他一切都是对象。可通过属性名访问这些值,而属性名可以是包含空字符在内的任意字符串。简单点说,一个对象就是一系列属性的集合,一个属性包含一个名字(key)和一个值(value)。

理解什么是JavaScript对象,你可以这样来想。在JavaScript中,一个对象就是一个具有属性的特体。就拿你看到的一妹子,这妹子就是一个对象,她有自己的属性。比如妹子身高,年龄,姓名等。同样,在JavaScript中,也可以用属性来给对象定义它的特征。

创建对象

既然要学习对象,那得先要有一个对象,这样问题就来了,JavaScript中对象要怎么创建呢?接下来就来看看在JavaScript中如何创建对象。

很多有关于JavaScript书在介绍对象创建的方法时,主要有:

使用对象字面量创建对象(key-value)

使用new创建对象

使用Object.create()创建对象

使用函数创建对象

使用原型创建对象

使用对象字面量创建对象

对象字面量是创建对象最简单的一种形式,目的是在于简化创建包含大量属性的对象的过程。对象字面量由若干属性名(keys)和属性值(values)成对组成的映射表,key和value中间使用冒号(:)分隔,每对key/value之间使用逗号(,)分隔,整个映射表用花括号({})括起来。

通过对象字面量创建对象的语法如下:

这里obj是创建的对象的名称,每一个property_i是一个标识符(可以是一个名称、数字或字符串字面量),并且每个value_i是一个其值,并且将这个值赋予给property_i。来看一个具体实例:

这个示例创建了一个名为girl的对象,对象有四个属性name、age、height和weight。这四个属性对应有一个属性值。

使用对象字面量创建对象时,如果留空其花括号({}),则可以定义只包含默认属性和方法的对象。如:

使用这种方式创建的对象时,可以通过点(.),也就是obj.key给对象obj创建对象属性,并且赋予对象的属性值。另外也可以通过方括号([]),也就是obj['key']给对象obj创建对象属性,并且赋予对象的属性值。如下面的示例:

此时在Chrome中打印girl对象时,输出的结果如下所示:

使用new创建对象

使用new操作符后跟Object构造函数(有关于构造函数,后面再讲)也可以创建对象:

var obj = new Object(); // 和 obj = {}相同

JavaScript学习笔记之创建对象(javascript基础笔记)

虽然初始状态下,obj是一个空对象,但在JavaScript中可以很方便地动态添加和使用成员,所以我们可以不断加入成员变量和方法。如:

使用Object.create()创建对象

对象也可以用Object.create()方法创建。该方法非常有用,因为它允许你为创建的对象选择其原型对象,而不用定义一个构造函数。

Object.create()方法创建一个拥有指定原型和若干个指定属性的对象。

Object.create(proto, [ propertiesObject ])

Object.create()方法创建一个对象,其接受两个参数,其中第一个参数是这个对象的原型对象proto;第二个是一个可选参数,用以对对象的属性做进一步描述。这个方法使用很简单:

如果 proto 参数不是 null 或一个对象值,则抛出一个 TypeError 异常。有关于Object.create()方法更多的示例可以点击这里进行了解。

使用函数创建对象

在实际使用当中,字面量创建对象虽然很有用,但是它并不能满足我们的所有需求,我们希望能够和其他后台语言一样创建一个类,然后声明类的实例就能够多次使用,而不用每次使用的时候都要重新创建它。

因为JavaScript没有类,一般都是使用函数来定义一个类似其他语言中的类格式,比如:

定义好类之后,我们就可以像下面这样创建和使用对象:

Person()函数不是用来被调用的,它是用来被new用的。

通过原型创建对象

这种方法比较前几种方法来说算是最为复杂,最为高级的方法。这里还涉及到封装的一些知识(有关于这些后续学习到了再记录)。这里简单看看如何通过原型创建对象。

首先像函数方法创建对象一样,先定义一个函数:

然后在外部可以扩允成员:

一方面,原型可以扩充原有类的功能(特别是添加有用方法),也可以像下面这样写:

属性访问

对象属性访问一般有两种方法,第一种是使用点(.)表示法,这也是最常用的一种方法,也是很多面向对象语言中通用的语法。第二种方法还可以使用中括号([])表示法来访问对象的属性。在使用中括号语法时,应该将要访问的属性以字符串的形式放在中括号中。如下:

从功能上来说,上面两种方法访问对象属性没有任何区别。但中括号语法的主要优点有两个:

可能通过变量访问属性,如下:

另外一个优点是,如果属性名中包含了会导致语法错误的字符或者属性名使用的是关键字或保留字,可以使用中括号访问属性,如下:

person['first name'];

一般情况之下,除非必须使用亦是来访问对象属性,否则建议使用点(.)的方法来访问对象属性。

总结

对象是JavaScript的基本数据类型,如果要更好的往下学习JavaScript相关的知识,很有必要先把对象整明白。这篇主要介绍了几种创建对象的方法。较为简单的是通过字面量({})和new Object()方法创建,但这两种方法创建的对象复用性较差;使用Object.create()创建对象时不需要定义一个构造函数就允许你在对象中选择其原型对象。除了这几种方法还可以使用函数和原型创建对象,而这两种方法相对来说可复用性强,只是使用较为复杂。

有关JavaScript学习笔记之创建对象的知识小编就给大家介绍到这里,希望对大家有所帮助!

javascript拖拽应用实例 之前文章中也讲了一下拖拽的基本思想,理论是有了,那实践呢,可以运用到什么地方呢?下面就给大家带来一个用拖拽思想写的一个小实例,供大家

javascript拖拽应用实例(二) 经常在网站别人的网站的注册页中看到一个拖拽验证的效果,就是它的验证码刚开始不出来,而是有一个拖拽的条,你必须将这个拖拽条拖到底,验证

jquery中validate与form插件提交的方式小结 概述:本篇主要讨论jquery.validate结合jquery.form实现对表单的验证和提交方案。方式一:是通过jquery.validate的submitHandler选项,即当表单通过验证时执行回

标签: javascript基础笔记

本文链接地址:https://www.jiuchutong.com/biancheng/375962.html 转载请保留说明!

上一篇:JS实现的颜色实时渐变效果完整实例(js中颜色对应代码)

下一篇:javascript拖拽应用实例(js拖拽元素到另一个元素)

  • 账面价值与计税基础一般会产生差异的是
  • 那些车不用交税
  • 增值税申报怎么填写报表
  • 交车辆购置税会计账务处理
  • 购进货物支付的运输费用如何计算增值税
  • 个人所得税申报截止时间
  • 餐饮业厨房设备专票可以抵税吗
  • 处理应收账款的办法
  • 企业年报股东及出资信息要怎么填写
  • 购买工业用地税费
  • 劳务费发票是个人开还是公司开
  • 固定资产贷款偿还期计算公式
  • 企业所得税计税金额怎么算
  • 并购产生的商誉怎么冲减
  • 实际利率法的计算过程
  • 税务机关办理扣税流程
  • 实收资本印花税税率多少
  • 购入技术服务怎么结转成本的
  • 借调员工的工资怎么入账
  • 不同税额怎么抵扣
  • 营改增对企业的影响案例
  • 企业每季度预缴增值税
  • 6月份税务新政热点问题有哪些?
  • 预提怎么写会计分录
  • 代扣个税税率是多少
  • 个人所得税累计减免税额为0
  • 残保金申报有什么用
  • 企业一年零申报怎么办
  • 没有收入能结转损益吗
  • 劳务费和工资薪金合并计算个人所得税合适吗
  • 对某公司的了解
  • 企业类型主要有
  • 简易征收月末需要转出未交增值税吗
  • 一般纳税人怎么交税
  • clipbrd.exe是什么意思
  • 利润核算主要包括
  • 阿里云天池大赛pdf
  • echarts引入地图
  • 前端软件开发工具
  • 什么的利息收入可免纳个人所得税
  • 应收票据确认坏账怎么处理
  • ci框架视频教程
  • 详解Yii2 rules 的验证规则
  • 银行流水要去哪里打
  • 制造费用月末一般有余额吗
  • 租用办公室装修费用会计分录
  • sql server使用sql语句
  • hadoop集群状态
  • 轿车折旧年限为几年
  • 预提开发成本的会计分录
  • 应交增值税进项税额为什么记借方
  • 金蝶专业版数量金额明细账设置
  • sql游标用法
  • 无法收回的应收账款可以税前扣除吗
  • 应付职工薪酬应该在借方还是贷方
  • 保理融资的费用由谁承担
  • 管理不善造成的存货盘亏损失计入什么科目
  • 资金结存余额在借方还是贷方
  • 支付残疾人保证金的现金流
  • 应收票据和应收账款减少说明什么
  • 小企业的建账流程
  • windows图标显示不出来
  • 迅速修复系统漏洞的方法
  • centos6.5mini安装教程
  • win10系统如何关闭屏保功能
  • win8系统无线网络图标不见了
  • linux如何加载动态库
  • cocos2d rpg
  • qt5.15教程
  • if iferror find
  • 深入了解的高级表达
  • Android多线程开发
  • jquery选择器实例
  • js实现双击屏幕放大
  • 百旺导入领购的新发票
  • 四川省地方税务局关于城镇土地使用税困难减免
  • 怎么看扣税明细
  • 税务稽查立案标准的法律文件
  • 北京市生育津贴发放标准
  • 企业营商环境包括哪些内容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设