JavaScript Object 对象

发布于 2023-02-23 20:59:08 字数 2022 浏览 112 评论 0

JavaScript 中的对象是一种复合值,它是 名称(属性)-值 对的无序集合。除了前面五种原始值,JavaScript 中的一切值(包括函数)都是对象。

var point={x:0,y:0};

多个属性之间,使用 , 分隔,最后一个属性之后不加 ,。多个属性也可以分行写。对象声明要以 ; 结尾。

对象声明

声明对象有两种方式:

1.直接声明

var point={x:0,y:0};

2.通过 new 创建

var object={}; // 创建空对象。等同于 new Object()
var date=new Date(); // 创建新的 Date 对象

该方式调用了对象的构造函数。

参考:自定义对象

原型属性

JavaScript 中,所有的对象(除了 null)都包含了一个原型对象,该对象继承自 Object 对象的 prototype 属性(对象)。对象的原型是对象继承和扩展的关键属性。

3.Object.create()(继承)

Object.create() 函数用于创建新的对象:

var x=Object.create({x:0,y:0}); // x 继承了传入的对象

可以传入 Object.prototype 来创建空对象。当传入 null 对象时,则创建了一个没有原型的对象。该对象没有任何属性和方法。

用于通过继承创建对象的工具函数:

function inherit(p){
	if(p==null){ // 检测传入对象是否为 null
		throw TypeError();
	}
	if(Object.create){ // 检测 Object.create() 是否可用
		return Object.create(p);
	}
	var t=typeof p;
	if(t!=="object"&&t!=="function"){ // 检测是否为有效对象
		throw TypeError();
	}
	function f(){}; // 定义新对象的构造函数
	f.prototype=p; // 使新对象的原型继承自 p
	return new f(); // 通过构造函数创建对象
}

对象的属性

参考:js_object-properties

对象的方法

参考:js_object-function

对象的序列化和 JSON 解析

对象序列化,是指将对象转换为字符串形式,该字符串也可以还原为对象。

JSON.stringify(obj) 可以将 obj 对象序列化:

var str=JSON.stringify(o);
// 返回 {"x":1,"y":2}

序列化规则:

  • 只能序列化对象中可枚举的自有属性
  • 支持 对象、数组、字符串、Infinity、true、false 和 null
  • NaN Infinity -Infinity 序列化为 null

JSON.parse(string) 可以将字符串 string 还原为对象形式:

JSON.parse(str);
// 返回 { x: 1, y: 2 }

JSON.parse() 的规则:

  • 只能将属性值还原为字符串形式

函数、RegExp 对象、Error 对象和 undefined 值都不能序列化和还原。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

◇流星雨

暂无简介

文章
评论
26 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文