美文网首页
你有“对象”吗

你有“对象”吗

作者: 悄敲 | 来源:发表于2019-02-25 23:57 被阅读0次

ECMAScript是一门面向对象的编程语言,它基于原型,以对象作为其核心概念。(对象很重要,无论对编程语言,还是对人)

对象是某个特定引用类型的实例,也称作引用类型的值,而引用类型在ES中是一种数据结构,用于将数据与功能组织在一起,类似“类”的概念。

定义: 对象属性的集合,并且有一个原型对象。原型要么是一个对象,要么是null值。(原型对象用于以动态调度机制实现继承)。

对象具有以下几个特点:

(1)唯一标识性:即使属性完全相同的两个对象,也并非同一个对象。(一般唯一标识性是通过对象的内存地址来体现的);

(2)对象有状态:同一对象可能处于不同的状态中;

(3)对象有行为:对象的状态可能因为其行为产生变化。

对于状态和行为,在Java中的对应术语为“属性”和“方法”;不过在JS中,只有一个术语,叫“属性”。此外,JS中对象独有的特色是:对象具有高度的动态性,可以在运行时为对象添加或者修改其状态或行为。

更多关于JS的对象介绍,请看JS对象。

一个对象的原型是被内部的[[Prototype]]属性引用,通过__proto__属性暴露给用户级代码。先看一个简单的对象示例,其结构中带有两个显式的自有属性( x和y)和一个隐式的__proto__属性(__proto__属性是对point的原型的引用)

图一    一个简单的对象
图二     带有原型的基本对象

对象可通过执行new操作符后跟要创建的对象类型名称来创建,如  var o = new Object();

Object类型,是所有对象的基础,其具有的任何属性和方法也存在于所有对象中。Object的每个实例都具有以下基本属性或方法:

(1)constructor: 保存用于创建当前对象的函数。

(2)hasOwnProperty(propertyName):用于检查给定属性是否存在当前对象实例中(不会在原型链中上溯)。

(3)isPrototypeOf(object): 用于检查传入的对象是否是另一个对象的原型。

(4)propertyIsEnumerable(propertyName):用于检查指定属性能否使用 for-in 语句来枚举。

(5)toLocalString(): 返回对象的字符串表示,与执行环境有关。

(6)toString(): 返回对象的字符串表示。

(7)valueOf(): 返回对象的字符串、数值或布尔值表示,通常与toString()方法的返回值相同。


Notes: typeof 操作符用来检测给定变量的数据类型。

(1) typeof null = "object",因为null被认为是一个空的对象引用;

(2)typeof 一个函数 = "function",虽然函数在ECMAScript中也是对象,但因为它具有特殊属性,有必要与其他对象区分开来。

(3)null == undefined 是成立的(ECMA-262规定的)

相关文章

  • 你,有对象吗?

    A:你有对象吗? B:没有啊! A:那我追你吧! C:次奥,你个二货,你难道不知道他结婚 了,当然没对象啦! 前段...

  • 你有对象吗?

    “你有对象了吗?” “别闹了,我连一头象都买不起,更别说一对象了。” 厉害了word哥! “同为90后的你要是没有...

  • 你有“对象”吗

    ECMAScript是一门面向对象的编程语言,它基于原型,以对象作为其核心概念。(对象很重要,无论对编程语言,还是...

  • 你有对象啦吗?

    今晚,我接到一个好久没见的张姓朋友的电话。他开门见山就说,想和我说说心里话。经过聊天得知,他最近对找对象这件事很苦...

  • 愈发理性,无法再头脑发热的恋爱了

    文/Lucky 初叁 又要过年了,冷清的春节里,你有对象抱抱贴贴吗? 哈你没有对象!难道你也加入了脱单困难户吗? ...

  • 你有对象吗?我有对象腿!文案集锦(1)

    从小到大一直都被鸡汤喂养,慢慢自身就有了抵御鸡汤的免疫功能,导致现在已经看不下去任何鸡汤文案,加上近期遇到了太多不...

  • 你会挑选对象吗?优质的那种

    你有对象吗?你知道如何考察优质匹配的对象吗? 特别是谈恋爱时,情绪更容易受波动,如果没有理性、有框架地去观察一个人...

  • 生活,你在将就吗?

    你有对象吗?你对现在的自己满意吗?你有稳定的工作吗?……每每碰到这样的问题,我都感觉同儿时过年一样,成绩不及格,还...

  • 探讨Java中的父子类转化问题

    有两个问题: (1)子类对象可以转化为父类对象吗? (2)父类对象可以转化为子类对象吗? ------------...

  • 拒绝会错意:你有对象感吗?

    对象感是我自己发明的一个词,它的意思是:当人们在传递信息时,作为信息传递者,会有一个或一群他的目标接受者。在创造和...

网友评论

      本文标题:你有“对象”吗

      本文链接:https://www.haomeiwen.com/subject/ujqoyqtx.html