博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript中的对象
阅读量:6359 次
发布时间:2019-06-23

本文共 2112 字,大约阅读时间需要 7 分钟。

一 创建对象:

  1. 对象直接量:由若干名/值对组成的映射表,名/值对中间使用冒号分离,明/值对之间用逗号分离,整个映射变使用花括号括起来。举例如下:

var book = {    "main title": "javascript",                   // 属性名字里有空格,必须用字符串表示    "sub-title": "The Definitive Guide",          // 属性名字里连字符,必须使用字符串便是    "for": "all audiences",                       // "for"是保留字,因此必须用引号    author: {                                     // 这里的属性值是一个对象        firstName: "David",                       // 注意,这里的属性名都没有引号        surname: "Flanagan"    }};
  1. 通过new创建对象:new运算符创建并初始化一个对象。关键字new后跟随一个函数调用。这里的函数称作构造函数,构造函数用以初始化一个新创建的对象。例如:

var o = new Object();     // 创建一个空对象,和{}一样var a = new Array();      // 创建一个空数组,和[]一样
  1. 原型:每一个javascript对象都和另一个对象关联。

    没有原型的对象为数不多,Object.prototype就是其中之一。

  2. Object.create():它创建一个新对象,其中第一个参数是这个对象的原型,第二个可选参数,用以对对象的属性进行进一步描述。例如:

var o1 = Object.create({x:1, y:2});       // o1继承了属性x和yvar o2 = Object.create(null);             // o2不继承任何属性和方法

二 属性的查询和设置

可以通过点(.)或方括号([])运算符来获取属性的值。运算符左侧应当是一个表达式,它返回一个对象。对于点来说,右侧必须是一个以属性名称命名的简单标识符。对于

方括号来说,方括号内必须是一个计算结果为字符串的表达式,这个字符串就是属性的名字:

var author = book.author;          // 得到book的"author"属性var name = author.surname;         // 得到auhor的"surname"属性
和查询属性的写法一样,通过点和方括号也可以创建属性或给属性赋值,但需要将它放在表达式的左侧:
book.edition = 6;                    // 给book创建一个名为"edition"的属性book["main title"] = "ECMAScript";   // 给"main title"属性赋值

三 删除属性

delete运算符可以删除对象的属性。它的操作数应当是一个属性访问表达式。delete只是断开属性和宿主对象的联系,而不会去操作属性中的属性。例如:
delete book.author;                  // book不再有属性author
delete运算符只能删除自有属性,不能删除继承属性。

四 检测属性

javascript对象可以看做属性的集合。需要检测集合中成员的所属关系--判断某个属性是否存在于某个软件中。可以使用in运算符,hasOwnProperty()和propertyIsEnumerable()方法来完成。

五 枚举属性

遍历对象属性三种方法:* 通常使用for/in循环.* Object.keys().* Object.getOwnPropertyNames().

六 属性getter和setter

对象由名字、值和一组特性构成的。属性值可以用一两个方法替代,这两个方法就是getter和setter。由getter和setter定义的属性称作“存储器属性”,不同于“数据属性”,数据属性只有一个简单的值。

七 对象的三个属性

* 原型属性: 要想检测一个对象是否是另一个对象的原型,请使用isPrototypeof()方法。* 类属性: 使用classof()函数可以返回传递给它的任意对象的类。
function classof(o) {    if (o === null ) return "Null";    if (o === undefined) return "Undefined";    return Object.prototype.toString().call(o).slice(8, -1);}

八 序列化对象

对象序列化是指将对象转换为字符串,也可以将字符串还原为对象。* JSON.Stringify() 序列化对象* JSON.parse() 还原js对象

转载地址:http://xabma.baihongyu.com/

你可能感兴趣的文章
网卡流量数值溢出
查看>>
Android中级教程之----Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)!
查看>>
浅谈 Java 字符串(String, StringBuffer, StringBuilder)
查看>>
深入理解分布式系统的2PC和3PC
查看>>
VMware View 5.0从菜鸟到高手系列 6 -创建虚拟桌面池
查看>>
二分 例题3
查看>>
cacti——问题排查
查看>>
使用Boost Graph library(二)
查看>>
解读javascript的计时器
查看>>
jmeter学习指南之结果分析-图形图表
查看>>
JavaScript创建函数的三种方式
查看>>
配置公司内部exchange服务器与外部邮箱服务器通信
查看>>
oracle large pool
查看>>
export的变量另开一个终端失效解决方法
查看>>
RH124 Chapter 3 Getting Help in Red Hat Enterprise Linux
查看>>
键盘 钩子 的代码
查看>>
198. House Robber(强盗抢劫)(LeetCode)
查看>>
window对象
查看>>
将之前的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。
查看>>
构建高并发高可用的电商平台架构实践----网址记录
查看>>