资讯专栏INFORMATION COLUMN

JavaScript-对象

NeverSayNever / 930人阅读

摘要:三方法是能够在对象上执行的动作四对象创建有以下三种方式来创建对象,包括构造函数对象直接量和函数。构造函数系统自带使用操作符后跟构造函数用以初始化一个新创建的对象。内部原理对象字面量提供了叫做字面量的快捷方式,用于创建大多数原生对象值。

一、对象概述

(1)JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。

(2)在 JavaScript 中,对象是拥有属性方法的数据。

二、 属性是与对象相关的值。 2.1 访问属性

(1)访问属性是通过 . 操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用 "" 括起来。

(2)访问这个属性也无法使用 . 操作符,必须用["xxx"]来访问。

(3)实际上JavaScript对象的所有属性都是字符串,不过属性对应的值可以是任意数据类型

(4)JavaScript规定,访问不存在的属性不报错,而是返回 undefined

2.2 删除属性

(1)delete运算符用来删除对象属性,事实上delete只是断开属性和宿主对象的联系,并没有真正的删除。

(2)delete运算符只能删除自有属性,不能删除继承属性。要删除继承属性必须从定义这个属性的原型对象上删除,而且这会影响到所有继承自这个原型的对象。

(3)delete运算符用来删除对象属性,如果删除成功或所删除的项目不存在,delete将返回 true

(4)注意,并不是所有的属性都可以删除,一些内置核心和客户端属性是不能删除的,通过var语句声明的变量不能删除,通过function语句定义的函数也是不能删除的

2.3 检测属性
JavaScript对象可以看做属性的集合,我们经常会检测集合中成员的所属关系(判断某个属性是否存在于某个对象中)。
2.3.1 in运算符

(1)可以通过 in 运算符、hasOwnPreperty()propertyIsEnumerable() 来完成这个工作,甚至仅通过属性查询也可以做到这一点。

(2)in 运算符的左侧是属性名(字符串),右侧是对象。如果对象的自有属性或继承属性中包含这个属性则返回true

2.3.2 hasOwnProperty()方法

(1)hasOwnProperty()方法,用来检测给定的名字是否是对象的自有属性。对于继承属性它将返回 false

三、方法是能够在对象上执行的动作 四、对象创建
有以下三种方式来创建对象,包括 ①new构造函数、②对象直接量和③Object.create()函数
4.1 构造函数 4.1.1 系统自带

(1)new Object(), Array(), Number(),Boolean(), Date()...

(2)使用new操作符后跟Object构造函数用以初始化一个新创建的对象。

4.1.2 自定义

(1)为了和普通函数区分,首字母大写,采用大驼峰式写法(普通函数采用小驼峰式写法)。

(2)内部原理

4.2 对象字面量

(1)javascript提供了叫做字面量的快捷方式,用于创建大多数原生对象值。使用字面量只是隐藏了与使用new操作符相同的基本过程,于是也可以叫做语法糖

4.3 Object.create() 4.3.1 语法

4.3.2 没有原型的对象

(1)可以通过传入参数 null 来创建一个没有原型的新对象,但通过这种方式创建的对象不会继承任何属性和方法,甚至不包括基础方法,比如toString()和valueOf()。

4.3.3 普通的空对象

(1)如果想创建一个普通的空对象(比如通过{}new Object()创建的对象),需要传入Object.prototype

阅读更多

参考文章
深入理解javascript对象系列第一篇——初识对象
JavaScript中的对象
js之对象(经典)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95105.html

相关文章

  • JavaScript 闯关记

    摘要:对象数组初始化表达式,闯关记之上文档对象模型是针对和文档的一个。闯关记之数组数组是值的有序集合。数组是动态的,根闯关记之语法的语法大量借鉴了及其他类语言如和的语法。 《JavaScript 闯关记》之 DOM(下) Element 类型 除了 Document 类型之外,Element 类型就要算是 Web 编程中最常用的类型了。Element 类型用于表现 XML 或 HTML 元素...

    mj 评论0 收藏0
  • JavaScript深入浅出

    摘要:理解的函数基础要搞好深入浅出原型使用原型模型,虽然这经常被当作缺点提及,但是只要善于运用,其实基于原型的继承模型比传统的类继承还要强大。中文指南基本操作指南二继续熟悉的几对方法,包括,,。商业转载请联系作者获得授权,非商业转载请注明出处。 怎样使用 this 因为本人属于伪前端,因此文中只看懂了 8 成左右,希望能够给大家带来帮助....(据说是阿里的前端妹子写的) this 的值到底...

    blair 评论0 收藏0
  • JavaScript中的面向对象(object-oriented)编程

    摘要:对象在中,除了数字字符串布尔值这几个简单类型外,其他的都是对象。那么在函数对象中,这两个属性的有什么区别呢表示该函数对象的原型表示使用来执行该函数时这种函数一般成为构造函数,后面会讲解,新创建的对象的原型。这时的函数通常称为构造函数。。 本文原发于我的个人博客,经多次修改后发到sf上。本文仍在不断修改中,最新版请访问个人博客。 最近工作一直在用nodejs做开发,有了nodejs,...

    JerryZou 评论0 收藏0
  • 10分钟了解Javascript-天码营

    摘要:然后将构造函数的原型设为,便实现了对象继承。首先,我们定义一个构造函数,并在其中定义一个局部变量。这里的是局部变量,其作用域仍然存在是闭包现象,而非对象属性。 Javascript是动态的,弱类型的,解释执行的程序设计语言。 Javascript极其灵活,支持多种程序设计范式:面向对象、指令式、函数式。JavaSCript最初被用于浏览器脚本,现在已经是所有主流浏览器的默认脚本语言。浏...

    trigkit4 评论0 收藏0
  • JavaScriptCore全面解析

    摘要:可嵌入动态文本于页面,对浏览器事件作出响应,读写元素,控制等。年月,发布了一款面向普通用户的新一代的浏览器版,市场份额一举超过。网景将这门语言作为标准提交给了欧洲计算机制造协会。线程和的并发执行都是线程安全的。后面会详细讲解对象类型的转换。 本文由云+社区发表作者:殷源,专注移动客户端开发,微软Imagine Cup中国区特等奖获得者 JavaScript越来越多地出现在我们客户端开...

    OnlyMyRailgun 评论0 收藏0
  • JavaScript设计模式与开发实践 | 01 - 面向对象JavaScript

    摘要:在中,并没有对抽象类和接口的支持。例如,当对象需要对象的能力时,可以有选择地把对象的构造器的原型指向对象,从而达到继承的效果。本节内容为设计模式与开发实践第一章笔记。 动态类型语言 编程语言按数据类型大体可以分为两类:静态类型语言与动态类型语言。 静态类型语言在编译时已确定变量类型,动态类型语言的变量类型要到程序运行时,待变量被赋值后,才具有某种类型。 而JavaScript是一门典型...

    suxier 评论0 收藏0

发表评论

0条评论

NeverSayNever

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<