理解JavaScript中的对象

 更新时间:2020年08月25日 09:56:36   作者:Jason  
这篇文章主要介绍了如何理解JavaScript中的对象,帮助大家更好的学习JavaScript,感兴趣的朋友可以了解下

JavaScript中对象的简介

我们知道生活中客观存在的一切事物皆为对象,那在程序中的对象是什么样子呢?我们可以将程序中的对象理解为客户端世界中的对象在一种计算机中的一种表示方式.所有的编程语言中提到的对象其性质都是类似的,它往往对应内存中的一块区域,在这个区域中存储对象的属性或方法信息。

JavaScript中对象的创建

基于{}符号创建对象

在JS中我们可以直接基于{}定义对象,在对象内容定义属性和方法,例如:

在JS中我们可以将对象理解为用于封装属性和方法的一个结构体,例如

如果需要反复创建多个相同结构的对象时,用{}代码就很冗余——重复。也不便于维护!

基于构造函数创建对象

假如在JS中我们希望非常方便的定义多个结构相同,但属性值不同的对象,可以直接基于构造函数( 定义同一类型多个对象的相同属性结构的特殊函数)进行对象创建,例如:

建议:只要反复创建多个相同结构的对象,都要用构造函数来创建对象.

在实际应用中我们尽量不要在构造函数中再去定义函数,例如:

这样在构建对象时,可能每次都需要开辟额外的函数空间.

JavaScript中的对象特性

封装特性

JS中的对象用于封装属性和方法.如图所示:

继承特性

JS中为了实现属性或方法的可重用性,提供了一种继承机制,

这种继承的方式需要借助Prototype对象去实现,Prototype对象是在定义构造函数时自动创建,用于存储所有共有属性和方法的一个对象,所有通过此构造函数构建的对象都继承这个原型对象.

构造函数中的原型对象分析,如图所示:

原型对象(ProtoType)对象的继承,如图所示:

在对象中添加共有属性,如图所示:

在对象中添加共有方法的.如图所示:

原型链是由多级父对象(原型对象)逐级继承形成的链式结构。这个原型链保存着一个对象可以访问的所有父级原型对象,以及这个对象可访问到的所有属性和方法。

多态特性

多态一般指同一个函数(行为),在不同情况下表现中的不同的状态。从应用上有两种形式,分别为重载和重写。

重载的定义:一个函数,根据传入的实参值不同,执行不同的逻辑。

重写的定义:在子对象中定义一个和父对象中成员同名的成员。只要从父对象继承来的东西不好用,就用重写自己的!

在子对象中定义一个和父对象中成员同名的自有成员,例如:

JavaScript内置对象类型

对象类型简介

JavaScript中对象的类型可以理解为构造方法和原型对象的结合体,当我们需要查看其对象类型时,可以通过构造方法名.

JS中内置的对象类型

JS中有11种内置对象类型,分别为String, Number, Boolean, Array, Date, RegExp, Math(对象), Error, Function, Object, global(对象)

总结(Summary)

本小节主要是对JS中对象做了简介,并通过实践方式分析JS中对象的创建,对象特性以及对象内置类型。

以上就是理解JavaScript中的对象的详细内容,更多关于JavaScript 对象的资料请关注脚本之家其它相关文章!

相关文章

  • Nuxt.js开启SSR渲染的教程详解

    Nuxt.js开启SSR渲染的教程详解

    Nuxt.js 是一个基于 Vue.js 的通用应用框架。 通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI渲染。这篇文章主要介绍了Nuxt.js开启SSR渲染 ,需要的朋友可以参考下
    2018-11-11
  • JavaScript实现统计文本框Textarea字数增强用户体验

    JavaScript实现统计文本框Textarea字数增强用户体验

    现在流行的Twitter等微博客网站,有一个很好的用户体验,就是在文本框中输入文字的时候,会自动统计输入的字符,并显示用户还能输入的字符,在限制了140个字的微博客中,这样的小提示可以很好的增强用户体验,本文也尝试着实现一下
    2012-12-12
  • mint-ui的search组件在键盘显示搜索按钮的实现方法

    mint-ui的search组件在键盘显示搜索按钮的实现方法

    这篇文章主要介绍了mint-ui的search组件在键盘显示搜索按钮的实现方法,需要的朋友可以参考下
    2017-10-10
  • Boostrap栅格系统与自己额外定义的媒体查询的冲突问题

    Boostrap栅格系统与自己额外定义的媒体查询的冲突问题

    这篇文章主要介绍了Boostrap栅格系统与自己额外定义的媒体查询的冲突问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Promise+async+Generator的实现原理

    Promise+async+Generator的实现原理

    这篇文章主要介绍了Promise+async+Generator的实现原理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • jstl中判断list中是否包含某个值的简单方法

    jstl中判断list中是否包含某个值的简单方法

    下面小编就为大家带来一篇jstl中判断list中是否包含某个值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • JavaScript 中的数据类型Number

    JavaScript 中的数据类型Number

    这篇文章主要介绍了JavaScript 中的数据类型Number,Number 类型使用 IEEE 754 格式表示整数和浮点值,下文相关详细资料介绍,需要的小伙伴可以参考一下
    2022-04-04
  • 一文详解JavaScript数组对象和字符串对象

    一文详解JavaScript数组对象和字符串对象

    这篇文章主要介绍了JavaScript数组对象和字符串对象,文章中有详细的代码示例,对学习或工作有一定的帮助,需要的小伙伴可以参考一下
    2023-04-04
  • 浅谈JS验证表单文本域输入空格的问题

    浅谈JS验证表单文本域输入空格的问题

    下面小编就为大家带来一篇浅谈JS验证表单文本域输入空格的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • java和js实现的洗牌小程序

    java和js实现的洗牌小程序

    这篇文章主要介绍了java和js实现的洗牌小程序,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09

最新评论